跳到主要内容

darra_model

darra_model 是模型句柄。

类结构​

darra_model*                                                     // 模型句柄
│
│ // 元信息
├── darra_model_meta_path → const char* // 模型路径
├── darra_model_meta_task → const char* // 任务名
├── darra_model_meta_label_count → size_t // 标签条目数
├── darra_model_meta_label_at → const char* // 按下标取标签
├── darra_model_meta_class_count → int64_t // 类别数
├── darra_model_meta_input_width → int64_t // 输入宽
├── darra_model_meta_input_height → int64_t // 输入高
├── darra_model_meta_input_channels → int64_t // 输入通道
├── darra_model_meta_is_encrypted → int32_t // 是否加密
├── darra_model_meta_json → const char* // 元信息原始 JSON
│
│ // 配置回读(借出指针禁 free)
├── darra_model_config → darra_model_config // create 登记配置
│ ├── darra_model_config_provider → const char* // 指名 Provider
│ ├── darra_model_config_gpu_id → int32_t // 钉定显卡
│ ├── darra_model_config_timeout → int32_t // 等待预算 ms
│ ├── darra_model_config_default_thresholds → const double* // 默认阈值表
│ ├── darra_model_config_threads → int // 推理线程数
│ ├── darra_model_config_workers → int // 并发会话数
│ ├── darra_model_config_queue → int // 池队列上限
│ └── darra_model_config_weight → int // 同卡槽份额
│
│ // 状态与错误
├── darra_model_phase → darra_phase // loaded/opened/error
├── darra_model_license → darra_model_state_enum // 授权五态
├── darra_model_last_error → const char* // 失败文案
├── darra_model_last_error_code → int32_t // 错误码
├── darra_model_last_error_category → int32_t // 错误类别
│
│ // 诊断(快照只读)
├── darra_model_runtime_diag → darra_diag // 句柄运行期快照
├── darra_diag_fill → darra_diag // 采集本机环境快照
│ ├── darra_diag_supported → int32_t // 环境可用
│ ├── darra_diag_version → const char* // 推荐运行时包版本
│ ├── darra_diag_has_onnx_cpu → int32_t // onnx-cpu
│ ├── darra_diag_has_onnx_cuda → int32_t // onnx-cuda
│ ├── darra_diag_has_onnx_openvino → int32_t // onnx-openvino
│ ├── darra_diag_has_onnx_trt_ep → int32_t // onnx-trt-ep
│ ├── darra_diag_has_onnx_directml → int32_t // onnx-directml
│ ├── darra_diag_has_trt_native → int32_t // trt-native
│ ├── darra_diag_has_paddle_cpu → int32_t // paddle-cpu
│ ├── darra_diag_has_paddle_gpu → int32_t // paddle-gpu
│ ├── darra_diag_has_edge_rknn → int32_t // edge-rknn
│ ├── darra_diag_has_torchscript → int32_t // torchscript
│
└── 方法
├── darra_model_create() // 构造,即读元信息
├── darra_model_open() // 打开(解锁)
├── darra_model_close() // 释放
├── darra_model_infer_* // 推理
├── darra_model_submit / darra_model_wait // 并发投递与取结果
├── darra_model_set_labels / darra_model_clear_labels // 类别名表(随时可调,`open` 后生效)
└── darra_diag_*(静态) // 环境快照