跳到主要内容

环境诊断(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));
}

失败怎么读​

失败读结果里的错误码,不抛异常。