AI 开放平台

提供适配不同硬件平台的AI模型,探索更多端侧场景应用

基于芯擎SE1000-I部署YOLOPv2模型

芯擎: SE1000-I

此文档将详细讲解如何在 Sirider S1 利用 NPU 硬件加速 YOLOPv2 多任务检测模型推理。

文档分为两部分:快速体验和详细教程。

快速体验

radxa 提供一个开箱即用的 YOLOPv2 目标分类例子,旨在用户可以直接在 Sirider S1 使用“周易”NPU推理 YOLOPv2 模型,免去复杂的模型编译和执行代码编译,
这对想快速使用 “周易”NPU 而不想从头编译模型的用户是最佳的选择,如您对完整工作流程感兴趣可以参考 详细教程

  • 运行模型推理

    ./aipu_yolopv2_test -m [mode] -i [your_input_image]
    #Example: ./aipu_yolopv2_test -m yolopv2.bin  -i test_0.jpg

    参数介绍:

    • -m: NPU模型文件
    • -i:输入图片路径

详细教程

要使用周易 Z2 NPU 部署目标模型,需要分三步走:模型转换编译推理文件应用层程序设计

模型转换

Tips:
此过程在 x86 主机上完成,进行模型转换前,请根据 周易 NPU SDK 安装教程
安装 周易SDK 并完成 配置 nn-compiler 环境

nn-compiler 可以将 TensorFlow、ONNX 等框架模型转换成可以在周易 NPU 进行硬件加速推理的模型文件

  • 进入 siengine nn-compiler-user-case-example 目录

    cd siengine/nn-compiler-user-case-example/yolopv2
  • (可选) 配置 build.cfg (开箱即用案例已提供)

    vim ./build.cfg
  • 构建 NPU 模型文件

    aipubuild build.cfg

    得到模型文件 yolopv2.bin

    tip
    如果找不到 aipubuild 命令,请将其添加到环境变量:
    export PATH=$PATH:/root/.local/bin

在 Sirider S1 开发板上进行推理

在使用周易 Z2 AIPU 推理前需要在 x86 主机进行交叉编译生成用于模型推理的可执行文件 yolopv2,然后此文件及out/linux下的文件拷贝到 Sirider S1 中。

使用编译好的可执行文件aipu_yolopv2_test进行测试:

./aipu_yolopv2_test -m yolopv2.bin  -i test_0.jpg

yolopv2_test