属性
元数据只读,从会话头解析一次缓存。调用方零配置、禁止填写。缺席:字符串空、数值 0、列表空,不编默认值。
属性
| 类别 | 属性 | 类型 | 访问 | 说明 |
|---|---|---|---|---|
| 任务 | Task | string | 只读 | 任务短名(detect / classify / segment / pose / ocr / anomaly)。缺席为空串 |
Labels | IReadOnlyList<string> | 只读 | 类别标签。缺席为空列表,永不 null | |
| 输入尺寸 | InputWidth | uint | 只读 | 模型输入宽。0 = 容器头未写 / 未知 |
InputHeight | uint | 只读 | 模型输入高。0 = 容器头未写 / 未知 | |
InputChannels | uint | 只读 | 模型输入通道。0 = 容器头未写 / 未知 | |
Layout | string | 只读 | 张量布局(NCHW / NHWC)。缺席为空串 | |
| 载荷与 Provider | PayloadKind | string | 只读 | 载荷类型(onnx / paddle / trt-engine / openvino / rknn)。缺席为空串。Windows 上 rknn 打不开会话 |
ProviderId | string | 只读 | 实际选中的 Provider(不是 prefer 入参)。缺席为空串 | |
Encrypted | bool | 只读 | 是否加密容器会话。明文模型为 false |
Task
public string Task { get; }
任务短名(detect / classify / segment / pose / ocr / anomaly)。缺席为空串。
示例:
Console.WriteLine(session.Task);
Labels
public IReadOnlyList<string> Labels { get; }
类别标签。缺席为空列表,永不 null。
示例:
foreach (string label in session.Labels)
Console.WriteLine(label);
InputWidth
public uint InputWidth { get; }
模型输入宽。0 = 容器头未写 / 未知。
InputHeight
public uint InputHeight { get; }
模型输入高。0 = 容器头未写 / 未知。
InputChannels
public uint InputChannels { get; }
模型输入通道。0 = 容器头未写 / 未知。
Layout
public string Layout { get; }
张量布局(NCHW / NHWC)。缺席为空串。
PayloadKind
public string PayloadKind { get; }
载荷类型(onnx / paddle / trt-engine / openvino / rknn)。缺席为空串。Windows 上 rknn 打不开会话。
ProviderId
public string ProviderId { get; }
实际选中的 Provider(不是 preferProvider 入参)。缺席为空串。
Encrypted
public bool Encrypted { get; }
是否加密容器会话。明文模型为 false。
示例:
using var session = AiSession.Open("model.darmodel", keyPath: "model.darmkey");
Console.WriteLine($"task={session.Task} provider={session.ProviderId}");
Console.WriteLine($"input={session.InputWidth}x{session.InputHeight}x{session.InputChannels} {session.Layout}");
元信息
MetaJson()
public string MetaJson()
会话元信息 JSON。首次向 native 取一次并缓存;之后只读托管副本。无需调用方释放。
返回值:
string— camelCase 派生视图 JSON
备注
日常读任务 / 尺寸 / Provider 用上面的属性。需要整段 JSON 再调本方法。
示例:
string json = session.MetaJson();