环境诊断(Diagnostics)
Diagnostics 只读报告本机环境与已装能力,共 12 个 getter。
实例 getter
| 类别 | 属性 | 类型 | 读写 | 说明 |
|---|---|---|---|---|
| 环境 | isSupported() | boolean | 只读 | 当前环境是否支持(运行时可用) |
| 环境 | getVersion() | String | 只读 | 已装运行时的版本串;未装时是空串,不编造版本 |
| 能力 | isOnnxCpu() | boolean | 只读 | onnx-cpu 已装好且硬件在位 |
| 能力 | isOnnxCuda() | boolean | 只读 | onnx-cuda 已装好且硬件在位 |
| 能力 | isOnnxDirectml() | boolean | 只读 | onnx-directml 已装好且硬件在位 |
| 能力 | isOnnxOpenvino() | boolean | 只读 | onnx-openvino 已装好且硬件在位 |
| 能力 | isOnnxTrt() | boolean | 只读 | onnx-trt 已装好且硬件在位 |
| 能力 | isTrtNative() | boolean | 只读 | trt-native 已装好且硬件在位 |
| 能力 | isPaddleCpu() | boolean | 只读 | paddle-cpu 已装好且硬件在位 |
| 能力 | isPaddleGpu() | boolean | 只读 | paddle-gpu 已装好且硬件在位 |
| 能力 | isTorchscript() | boolean | 只读 | torchscript 已装好且硬件在位 |
| 能力 | isRknn() | boolean | 只读 | rknn 已装好且硬件在位 |
能力位统一口径:推理包已装好且硬件在位才算 true。构造和 getter 不抛异常,采集失败落成「不支持快照」(能力位全 false、version 空串)。
示例
Diagnostics d = new Diagnostics();
System.out.println(d.isSupported() + " " + d.getVersion());
System.out.println(d.isOnnxCpu() + " " + d.isOnnxCuda() + " " + d.isOnnxDirectml() + " " + d.isOnnxOpenvino());
System.out.println(d.isOnnxTrt() + " " + d.isTrtNative() + " " + d.isPaddleCpu() + " " + d.isPaddleGpu());
System.out.println(d.isTorchscript() + " " + d.isRknn());
Provider 标识
ProviderIds 是 Provider id 的常量表,取值属于 ABI。
签名
static final int COUNT = 18;
static String at(int index)
static boolean isValid(String id)
static String runtimeVersion(String id)
runtimeVersion 返回 JSON(provider / packVersion / runtimeVersion,缺记录字段为 null),未装时抛异常;at / isValid 不抛异常。
18 条权威清单(COUNT = 18)
推理执行体共 12 个。
ONNX_CPU ONNX_CUDA ONNX_OPENVINO ONNX_TRT_EP
ONNX_DIRECTML TRT_NATIVE PADDLE_CPU PADDLE_GPU
EDGE_RKNN TFLITE ONNX_TFLITE TORCHSCRIPT_CPU
依赖资源包 id(供安装器 / 清单校验,非推理执行体):CUDNN CUDA_LIBS
TORCH ULTRALYTICS OPENVINO_INTEL_GPU OPENVINO_INTEL_NPU(6 个)
示例
String id = ProviderIds.at(0);
if (ProviderIds.isValid(id)) {
System.out.println(ProviderIds.runtimeVersion(id));
}
失败怎么读
失败读结果里的错误码,不抛异常。