【昇腾】基于Atlas 200I DK A2开发者套件跑sampleYOLOV7 demo解决有些图片不识别不画框的问题_20251116
【昇腾】基于Atlas 200I DK A2开发者套件跑sampleYOLOV7 demo解决有些图片不识别不画框的问题_20251116
############################################################################################
硬件:Altlas 200I DK A2(20T版本)
Altlas 200I DK A2开发者套件实物图:

############################################################################################
一、制卡
Altlas 200I DK A2开发者套件通过
https://www.hiascend.com/document/detail/zh/Atlas200IDKA2DeveloperKit/23.0.RC2/qs/qs_0005.html选择在线烧录Desktop-Image_23.0.RC3_ubuntu22.04的镜像版本制卡
二、开发者套件具体的版本信息如下:
| 关键参数 | 版本说明 |
|---|---|
| OS版本 | Ubuntu 22.04 LTS Arm64 |
| kernel版本 | 5.10.0+ |
| 固件与驱动版本 | 23.0 RC3 |
| CANN版本 | 7.0.RC1 |
三、成功跑起默认的sampleYOLOV7
参考我写的博客《【昇腾】基于Atlas 200I DK A2开发者套件从0到1跑sampleYOLOV7_20251114》成功跑起sampleYOLOV7,如下图所示:

四、跑狗狗之外的图片进行推理发现无画框无置信度
在Atlas 200I DK A2开发者套件上尝试跑狗狗以外的图片,发现许多的图片都是没有画框,没有置信度的,如下图所示:


五、解决办法
5.1 问题的分析与修改点
默认的acllite库是针对"Ascend310P3"写的,而Atlas 200I DK A2开发者套件(20T:Ascend310B1 8T:Ascend310B4),所以需要将"Ascend310P3"改为"Ascend310B1"或者在源码中新增"Ascend310B1"然后重新编译acllite库即可
vim /home/HwHiAiUser/work/samples/inference/acllite/cplusplus/src/JpegDHelper.cpp
大概41行的位置,
if (strncmp(socVersion, "Ascend310P3", sizeof("Ascend310P3") - 1) == 0) {
...
}
修改为:
if ((strncmp(socVersion, "Ascend310P3", sizeof("Ascend310P3") - 1) == 0) ||(strncmp(socVersion, "Ascend310B1", sizeof("Ascend310B1") - 1) == 0) ||(strncmp(socVersion, "Ascend310B4", sizeof("Ascend310B4") - 1) == 0)) {
...
}
如下图所示:

5.2 重新编译acllite库
切到root用户,执行以下命令设置环境变量:
su
#输入密码Mind@123
export HOME=/usr/local
export DDK_PATH=$HOME/Ascend/ascend-toolkit/latest
export NPU_HOST_LIB=$DDK_PATH/runtime/lib64/stub/
export LD_LIBRARY_PATH=$HOME/Ascend/ascend-toolkit/latest/runtime/lib64
export THIRDPART_PATH=${DDK_PATH}/thirdpart
export LD_LIBRARY_PATH=/usr/local/lib:/usr/local/Ascend/ascend-toolkit/latest/thirdpart/lib:$LD_LIBRARY_PATH

编译acllite
cd /home/HwHiAiUser/work/samples/inference/acllite/cplusplus
make clean
make
开始重新编译:

编译完成与执行make install安装
make install

5.3 准备自行车图片
把需要进行识别的自行车图片(ba.jpg)与大街上的照片(test6.jpg)放/home/HwHiAiUser/work/samples/inference/modelInference/sampleYOLOV7/data目录下:

5.4 执行程序进行推理
cd /home/HwHiAiUser/work/samples/inference/modelInference/sampleYOLOV7/scripts
export LD_LIBRARY_PATH=/usr/local/lib:/usr/local/Ascend/ascend-toolkit/latest/thirdpart/lib:$LD_LIBRARY_PATH
bash sample_run.sh

5.5 样例结果展示说明
程序执行完毕,打开/home/HwHiAiUser/work/samples/inference/modelInference/sampleYOLOV7/out/目录下的图片文件

成功画框并标识类别与置信度,如下图所示:



