跳到主要内容

C# 测试程序使用流程

C# 测试程序用于确认模型能否正常加载和推理,并查看推理效果、速度、JSON 结果及多线程稳定性。

启动程序

在深度视觉 AI 平台的“部署”页面找到“C# 测试程序”,选择已安装版本后启动。

在部署页面启动 C# 测试程序

使用流程

点击“加载模型”选择模型文件,再点击“打开图片推理”选择图片,程序会自动执行推理。

加载模型和打开图片

模型管理

加载模型

点击“加载模型”,选择模型文件。程序支持 .dvp.dvt.dvo.dvst.dvso

.dvsp 不能直接加载,需要先使用 AI 模型加速器加速为 .dvst.dvso,再加载加速后的模型。

获取模型信息

模型加载成功后会自动显示模型信息。也可以点击“获取模型信息”再次查看任务类型、输入通道、类别数量、类别列表和类别映射等内容。不同模型返回的字段可能不同。

获取模型信息

释放模型

  • “释放模型”释放当前模型。
  • “释放所有模型”释放程序当前已经加载的全部模型,并清理相关内存和显存。
  • 加载新模型前,程序会先释放当前模型。

图像管理

打开图片推理

点击“打开图片推理”并选择图片,程序会立即执行一次推理。三通道和四通道彩色图片会转换为 RGB,灰度图保持原通道。

保存图像

点击“保存图像”,将当前结果图保存为 JPEG,默认文件名为原图名加 _vis.jpg

保存推理结果

保存后的结果图示例:

推理结果图

选择硬件

设备列表包含 OpenVINO、CPU 和本机可用的 NVIDIA GPU。

选择推理设备

  • GPU:适合高性能推理。DVT 模型仅支持 NVIDIA GPU。
  • CPU:设备编号为 -1,是否可用取决于模型格式和运行环境。
  • OpenVINO:设备编号为 -2,是否可用取决于模型格式和运行环境。

推理功能

单次推理

单次推理显示模型、图片、batch_sizethreshold、推理时间和对象结果。检测与分割模型会在右侧图像中绘制结果。

单次推理

多线程测试

多线程测试用于观察并发推理时的速度和稳定性。再次点击“多线程测试”可停止。

多线程测试

常见指标:

指标说明
线程数并发任务数量
批量大小每次请求处理的图片数
运行时间测试持续时间
完成请求已完成的请求数量
平均延迟每次请求的平均耗时
实时速率每秒完成的请求数

RPC 模式

RPC 模式用于让普通模型通过本机辅助进程推理,可减少同一进程内运行库冲突。该选项不改变 .dvp.dvst.dvso 的加载方式。

推理 JSON

点击“推理 JSON”可查看适合程序解析和存储的结果。实例分割结果常见字段包括 category_idcategory_namescorebboxareamask,实际字段由任务类型和推理参数决定。

推理 JSON

一致性测试

一致性测试保存首轮结果作为基准,再比较后续结果;发现差异时停止并显示基准结果与当前结果。

推理参数

batch_size

batch_size 默认为 1。增大批量可能提高吞吐率,但不一定降低单张图片的延迟。

设置值不能超过模型支持的最大批量大小。例如模型加速时最大批量大小为 8,C# 测试程序可在 18 范围内测试。

threshold

threshold 默认为 0.50,用于筛选低分结果。模型和图片已经加载时,调整阈值会重新执行单次推理。

线程数

线程数范围为 132。可通过多线程测试比较不同线程数下的平均延迟和实时速率。

计算均值

“计算均值”有三种状态:

  • 默认:使用模型设置。
  • 是:计算 mask 前景和背景均值。
  • 否:不计算均值。

注意事项

DVT 模型仅支持 NVIDIA GPU,并且模型生成环境需要与部署显卡及运行库兼容。模型加载失败时,依次检查模型格式、所选设备、SDK 安装、授权设备和模型加速环境。