跳到主要内容

诊断(Diagnostics)

d = Diagnostics()

darra_ai.diagnostics.Diagnostics 只读,采集失败不抛异常,给全不支持的快照。

属性​

类别属性类型读写说明
环境Supportedbool只读推荐运行时包装好才算 true
环境Versionstr只读推荐运行时包版本,没装为空串
能力OnnxCpubool只读onnx-cpu:包与硬件在位才 true
能力OnnxCudabool只读onnx-cuda:包与硬件在位才 true
能力OnnxDirectmlbool只读onnx-directml:包与硬件在位才 true
能力OnnxOpenvinobool只读onnx-openvino:包与硬件在位才 true
能力OnnxTrtbool只读onnx-trt-ep:包与硬件在位才 true
能力TrtNativebool只读trt-native:包与硬件在位才 true
能力PaddleCpubool只读paddle-cpu:包与硬件在位才 true
能力PaddleGpubool只读paddle-gpu:包与硬件在位才 true
能力Torchscriptbool只读torchscript-cpu:包与硬件在位才 true
能力Rknnbool只读edge-rknn:包与硬件在位才 true

常见读法​

Supported 为 False 先看什么​

先看 Version:空串为推荐运行时包未装,先补包;非空再看 OnnxCpu,False 缺 onnx-cpu 包。硬件位 False 是硬件不在位,不是装错;报错按 error_code 处置。

能力位组合速读​

OnnxCuda=False 时 GPU 不可用,OnnxDirectml=True 可走 DirectML,无需 NVIDIA 卡;OnnxCuda=True 而 OnnxTrt=False 是 TensorRT EP 包未装。 TrtNative/Rknn 为 True 走原生引擎;十个能力位全 False 按 Supported=False 处理。

完整示例​

from darra_ai.diagnostics import Diagnostics

d = Diagnostics()
caps = [
"OnnxCpu", "OnnxCuda", "OnnxDirectml", "OnnxOpenvino",
"OnnxTrt", "TrtNative", "PaddleCpu", "PaddleGpu",
"Torchscript", "Rknn",
]

print(f"Supported={d.Supported} Version={d.Version}")
for name in caps:
print(f"{name}={'yes' if getattr(d, name) else 'no'}")