推理服务

image-20241126150917440

参数介绍

  • TCP 服务端口:用于指定服务器监听的端口。

  • 添加网络

    • MaskRCNN:用于 MaskRCNN 网络的推理,可以获得图像中目标的位置掩码(像素区域)。

    • YOLO:用于 YOLO 网络的推理,可以获得图像中目标的位置掩码(像素区域)。

    • KeyPoint:用于关键点网络的推理,在 MaskRCNN 网络基础上可以额外获得关键点的像素值。

MaskRCNN

  • 模型名:训练模型名称。

  • 描述:配置的描述信息。

  • 运行设备:选择使用的设备,支持 CUDA 和 CPU。

    • CUDA:选择 CUDA 后,可以指定使用的显卡进行推理。

  • 分数阈值:目标得分的阈值,低于该阈值的目标将被淘汰。范围:[0,1],默认值为 0.8。

  • 模型文件:模型文件路径。

YOLO

  • IOU阈值:用于在目标检测中判断预测框与真实框的重叠程度,以优化检测结果的精确度和召回率。

  • 其他参数与MaskRCNN一致。

KeyPoint

  • 关键点分数阈值:关键点检测的得分阈值。

  • 其他参数与MaskRCNN一致。

按钮介绍

  • 保存:保存模型配置。

  • 开始:启动推理服务。

功能演示

本案例演示了拆垛案例中的 AI推理 模块,仅介绍 AI 推理算子与 RVS_AI_Center 的使用方法。具体的工程案例请参考自动拆垛文档进行学习。

  1. 打开 RVS_AI_Center ,配置推理服务界面参数。

    • TCP 服务端:2024

    • 添加网络:MaskRCNN

    • 模型名:拆垛

    • 运行设备:cuda 0

    • 分数阈值:0.8

    • 模型文件:unstacking.mask

    image-20241129155103729

  2. 点击 保存 按钮后,确保所有配置已正确保存。然后点击 开始 按钮以启动 AI 推理模块。

    image-20241129155458928

  3. 使用 RVS 软件加载 unstacking.xml,找到AI推理分割点云 Group 中AI推理算子,并填写以下参数:

    • 服务端 IP 地址:127.0.0.1

    • 服务端端口号:2024

    • 模型序号:0

    image-20241129154457348

  4. 点击运行按钮点击离线触发,AI 推理算子运行成功后,在日志视图中显示推理结果。

    image-20241129155618390

推理服务启动失败的故障排查

  1. 请确保在 AIConfig.json 配置文件中,所有文件地址或文件夹路径都已正确设置,并且所需的文件或数据已放置在对应目录下,以避免路径错误导致的训练问题。

  2. 检查 AIConfig.json 配置文件的内容。CPU 版本的推理服务只能选择 CPU 模式,而 GPU 版本的推理服务可以支持 GPU 或 CPU。

  3. 如果控制台(终端)出现 “bind: Address already in use” 错误提示,说明目标服务端口已被占用。

Windows:

  1. 通常情况下,关闭 RVS_AI_Center.exe 的软件界面和控制台界面,重新启动软件并单击启动推理服务即可解决。

  2. 如果问题仍未解决,请参考下面的 Linux 解决方案。

Linux:

  1. 通常情况下,关闭 RVS_AI_Center 的软件界面,重新启动软件并单击启动推理服务即可解决。

  2. 如果问题仍未解决,请检查当前本地端口的占用情况:

    • 打开一个终端,当服务端口为 2024 时,使用命令 sudo lsof -i :2024。结果会显示类似如下的信息:

      COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
      
    • 如果 COMMAND 栏目显示的程序名为 rvs_ai_se...,说明上次启动推理服务后未正常关闭。

    • 使用命令 sudo kill $PID 强制关闭(其中 $PID 是上面信息中 PID 栏的数字)。然后重新启动推理服务。

    • 如果 COMMAND 栏目显示的程序名不是 rvs_ai_se...,说明其他应用程序占用了目标服务端口。

    • 此时,应更改 AIConfig.json 中的 “TCPServerPort” 字段,例如从 2024 改为 2025,然后重新启动推理服务。