诊断(Diagnostics)
d = Diagnostics()
darra_ai.diagnostics.Diagnostics 只读,采集失败不抛异常,给全不支持的快照。
属性
| 类别 | 属性 | 类型 | 读写 | 说明 |
|---|---|---|---|---|
| 环境 | Supported | bool | 只读 | 推荐运行时包装好才算 true |
| 环境 | Version | str | 只读 | 推荐运行时包版本,没装为空串 |
| 能力 | OnnxCpu | bool | 只读 | onnx-cpu:包与硬件在位才 true |
| 能力 | OnnxCuda | bool | 只读 | onnx-cuda:包与硬件在位才 true |
| 能力 | OnnxDirectml | bool | 只读 | onnx-directml:包与硬件在位才 true |
| 能力 | OnnxOpenvino | bool | 只读 | onnx-openvino:包与硬件在位才 true |
| 能力 | OnnxTrt | bool | 只读 | onnx-trt-ep:包与硬件在位才 true |
| 能力 | TrtNative | bool | 只读 | trt-native:包与硬件在位才 true |
| 能力 | PaddleCpu | bool | 只读 | paddle-cpu:包与硬件在位才 true |
| 能力 | PaddleGpu | bool | 只读 | paddle-gpu:包与硬件在位才 true |
| 能力 | Torchscript | bool | 只读 | torchscript-cpu:包与硬件在位才 true |
| 能力 | Rknn | bool | 只读 | 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'}")