笔者的AX650N为AXCL PCIe 算力卡形态;如果你是 SoC 开发板(AXera-Pi/AX650N 等),我在文末也放了 SoC 的做法。
1. 安装运行库
在插卡的主机上(Ubuntu/Debian),按 AXCL 在线文档安装 deb 包(装完头文件和库会到 /usr/include/axcl/、/usr/lib/axcl/)。
可选:装 OpenCV 供样例读图显示
sudo apt update
sudo apt install build-essential cmake libopencv-dev
2. 拷贝模型与数据
把你在 PC 上生成的 模型.axmodel
和测试图拷到主机。
3. 拉取并编译官方C++样例
cd ~
git clone https://github.com/AXERA-TECH/axcl-samples.git
cd axcl-samples
拉取后进入项目。
在axcl-sample-main/examples/axcl/ax_yolov5s_steps.cc文件中,修改CLASS_NAMES与ANCHORS为之前训练模型时的参数。

在axcl-sample-main/examples/base/detection.hpp文件第650行中,将cls_num=80改成你的类别数量。(为什么这里是写死的,有点坑了。。)图里笔者已经改成了和自己模型一样的5。

修改完以后编译项目:
mkdir build && cd build
cmake ..
make install -j4
# 成功后二进制在 ./install/bin/ 下
ls install/bin | grep ax_yolov5
示例里自带多个可执行程序(ax_yolov5s、ax_yolov8 等);README 的“示例运行”也展示了 ./install/bin/ax_yolo* -m xxx.axmodel -i xxx.jpg 的用法。
./install/bin/axcl_yolov5s -m 模型路径 -i 图片路径
程序会打印输入输出张量信息(类似“input size / output size …”),和检测结果。

* SOC开发板
思路几乎一样,但仓库换成 ax-samples(面向 SoC),编译方式与运行方式与上面一致。
文章评论