Resnet50 目标识别
此文档将详细讲解如何在 Sirider S1 利用 NPU 硬件加速推理 Resnet50 模型。
快速体验
radxa 提供一个开箱即用的 resnet50 目标分类例子,旨在用户可以直接在 sirider s1 使用 AIPU 推理 resnet50 模型,免去复杂的模型编译和执行代码编译, 这对想快速使用 AIPU 而不想从头编译模型的用户是最佳的选择,如您对完整工作流程感兴趣可以参考 详细教程
-
克隆仓库代码
git clone https://github.com/zifeng-radxa/siriders1_NPU_example.git
-
安装依赖
提示建议使用 virtualenv
cd siriders1_NPU_example
pip3 install -r requirements.txt -
生成用于模型输入的文件
python3 input_gen.py --img_path <your_image_path>
-
模型推理
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$(pwd)/libs
./aipu_test aipu_mlperf_resnet50.bin input_3_224_224.bin
详细教程
要使用周易 Z2 AIPU 部署目标模型,需要分三步走,模型转换,编译推理文件,应用层程序设计
模型转换
提示
此过程在 x86 主机上完成,进行模型转换前,请根据 周易 AIPU SDK 安装教程 安装 周易SDK 并完成 配置 nn-compiler 环境
nn-compiler 可以将 TensorFlow、ONNX 等框架模型转换成可以在周易 AIPU 进行硬件加速推理的模型文件
-
进入 siengine nn-compiler-user-case-example 目录
如没配置好 nn-compiler 环境, 请按照 配置 nn-compiler 环境进行配置
cd siengine/nn-compiler-user-case-example/onnx
-
生成量化校准集
python3 generate_calibration_data.py
-
生成用于模型推理的照片文件
python3 generate_input_binary.py
文件在 ./resnet50/input_3_224_224.bin
-
(可选) 配置 build.cfg (开箱即用案例已提供)
vim ./resnet50/build.cfg
-
生成 aipu 模型
cd ./restnet50
aipubuild build.cfg在 ./restnet50 中得到 aipu_mlperf_resnet50.bin
提示如果找不到
aipubuild
命令,可尝试export PATH=$PATH:/root/.local/bin