跳到主要内容

环境诊断

用 Diagnostics 看本机推理环境,只读快照。

Diagnostics​

var d = new Diagnostics();   // 采一次快照

new Diagnostics() 采一次快照,属性里放的就是结论;采集失败也不抛异常,全不支持时 Supported=false、Version=""、能力位全 false。

功能概览​

类别属性类型读写说明
环境Supportedbool只读当前环境是否支持(推荐运行时包已装好)
环境Versionstring只读推荐运行时包版本;未装为空串,不编造

诊断明细​

十个能力位(bool),装好且硬件在位才算 true。只是快照,不保证推理一定成功;硬件位 false 不等于装错。

字段名含义说明
OnnxCpuONNX CPU最起码的能力位。false = ONNX CPU 包缺了
OnnxCudaONNX CUDA硬件位。没卡时本来就该是 false
OnnxDirectmlONNX DirectML没 NVIDIA 卡时的 GPU 路径
OnnxOpenvinoONNX OpenVINO装好且硬件在位才算 true
OnnxTrtONNX TensorRT EP有 CUDA 卡但包没装时为 false
TrtNativeTensorRT 原生硬件位。在位可走原生引擎
PaddleCpuPaddlePaddle CPU装好且硬件在位才算 true
PaddleGpuPaddlePaddle GPU装好且硬件在位才算 true
TorchscriptTorchScript装好且硬件在位才算 true
Rknn瑞芯微 RKNN硬件位。没接板时也该是 false

完整示例​

using Darra.AI.Runtime;

var d = new Diagnostics();
Console.WriteLine($"Supported={d.Supported} Version={d.Version}");
Console.WriteLine($"OnnxCpu={d.OnnxCpu} OnnxCuda={d.OnnxCuda}");

if (!d.Supported)
Console.WriteLine(string.IsNullOrEmpty(d.Version) ? "运行时未装" : "缺包");