当前位置: 首页 > news >正文

【昇腾】基于Atlas 200I DK A2开发者套件从0到1跑sampleCarColor_20251113

【昇腾】基于Atlas 200I DK A2开发者套件从0到1跑sampleCarColor_20251113
############################################################################################
硬件:Altlas 200I DK A2(20T版本)
Altlas 200I DK A2开发者套件实物图:
0.Altlas 200I DK A2开发者套件实物图.png

############################################################################################

一、制卡

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

三、sample的获取

3.1将制做好操作系统的TF卡插回到开发者套件,上电将开发者套件的eth0口通过网线连接路由器(具体IP可通过HDMI0口连接到显示器登录输入ifconfig获知,或登录路由器获知,或连接串口到开发者套件下输入ifconfig获知),其中开发者套件的eth0口,如下图所示:
3.1.接口介绍图.png

3.2使用HwHiAiUser用户登录开发者套件,执行以下命令下载开源sample的代码:

mkdir -p /home/HwHiAiUser/work
cd /home/HwHiAiUser/work
git clone https://gitee.com/ascend/samples.git

成功拉取sample源码截图:
3.2.成功拉取sample源码截图.png

四、第三方依赖的编译与安装

4.1 设置环境变量

执行以下命令查看设置环境变量:

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

设置环境变量截图:
4.1 1.设置环境变量截图.png.png

设置环境变量后,npu-smi info命令依然可以查询到310B1芯片,如果查询到是310B,则不对,需重新安装相互匹配的固件与驱动后确保能查询到310B4或310B1,其中310B4是8T版本 310B1是20T版本,以下是查询到310B1截图:

4.1 2.以下是查询到310B1截图.png

4.2 编译与安装x264

4.2.1 创建编译临时目录

mkdir -p /home/HwHiAiUser/work/tmp

4.2.2 执行以下命令拉取源码、编译并安装x264

cd /home/HwHiAiUser/work/tmp
git clone https://code.videolan.org/videolan/x264.git
cd /home/HwHiAiUser/work/tmp/x264/
./configure --enable-shared --disable-asm
make
# make编译完成后,切到root用户去执行安装步骤
su
make install
cp /usr/local/lib/libx264.so.165 /lib
# 按键Ctrl+D退出root用户

x264执行configure成功配置的截图:
4.2.2 1.x264执行configure成功配置的截图.png
x264执行make install成功的截图:
4.2.2 2.x264执行make install成功的截图.png

4.3 编译与安装ffmpeg

4.3.1 执行以下命令拉取源码、编译并安装ffmpeg

cd /home/HwHiAiUser/work/tmp
wget http://www.ffmpeg.org/releases/ffmpeg-4.1.3.tar.gz --no-check-certificate
tar -zxf ffmpeg-4.1.3.tar.gz
cd /home/HwHiAiUser/work/tmp/ffmpeg-4.1.3
# 安装ffmpeg,--prefix不指定,默认安装至/usr/local/目录下
# 编译sample才不会报错#include <libavcodec/avcodec.h>找不到
./configure --enable-shared --enable-pic --enable-static --disable-x86asm --enable-libx264 --enable-gpl
make -j8
# make -j8编译完成后,切到root用户去执行安装步骤
su
make install
# 按键Ctrl+D退出root用户

ffmpeg拉取源码解压成功的截图:
4.3.1 1.ffmpeg拉取源码解压成功的截图.png

4.3.2 执行 make -j8 编译完成截图:
4.3.2 1.执行 make -j8 编译完成截图.png

4.3.3 执行 make install 安装完成截图:
4.3.3 1.执行 make install 安装完成截图.png

4.3.4 执行 ffmpeg --version 查询ffmpeg的版本截图:
4.3.4 1.执行 ffmpeg --version 查询ffmpeg的版本截图.png

4.4 编译与安装OpenCV – 4.5.4

4.4.1 下载OpenCV – 4.5.4源码包
访问https://opencv.org/releases/找到OpenCV – 4.5.4点击Sources下载opencv-4.5.4.zip

4.4.1 1.下载OpenCV – 4.5.4源码包.png

4.4.2 将opencv-4.5.4.zip放到开发者套件服务器/home/HwHiAiUser/work/tmp目录并解压后编译与安装

cd /home/HwHiAiUser/work/tmp
unzip opencv-4.5.4.zip
cd /home/HwHiAiUser/work/tmp/opencv-4.5.4
mkdir build
cd buildcmake -D WITH_TBB=ON -D WITH_EIGEN=ON -D OPENCV_GENERATE_PKGCONFIG=ON  -D BUILD_DOCS=ON -D BUILD_TESTS=OFF -D BUILD_PERF_TESTS=OFF -D BUILD_EXAMPLES=OFF  -D WITH_OPENCL=OFF -D WITH_CUDA=OFF -D BUILD_opencv_gpu=OFF -D BUILD_opencv_gpuarithm=OFF -D BUILD_opencv_gpubgsegm=O -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..make
# make编译完成后,切到root用户去执行安装步骤
su
make install
# 按键Ctrl+D退出root用户

4.4.3 执行 cmake 配置完成截图:
4.4.3 1.执行 cmake 配置完成截图.png
4.4.3 执行 make 编译完成截图:
4.4.3 2.执行 make 编译完成截图.png

4.4.4 执行 make install 安装完成截图:
4.4.4 1.执行 make install 安装完成截图.png

4.4.5 执行 opencv_version 验证是否安装成功,回显信息4.5.4则为安装成功:
4.4.5 1.回显信息4.5.4则为安装成功.png

4.4.6 设置 opencv的环境变量

# 切到root用户去执行安装步骤
su
vim /etc/ld.so.conf
#在ld.so.conf最后添加环境变量,添加内容:
include /usr/local/libvim /etc/bash.bashrc
#在bash.bashrc最后添加环境变量,添加内容:
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
# 按键Ctrl+D退出root用户

执行source命令生效:

source /etc/bash.bashrc

执行pkg-config opencv --modversion查看 opencv版本信息
(如果命令没有则切到root用户去安装apt-get install pkg-config,安装不上可执行apt-get update后再安装)
4.4.6 1.安装不上可执行apt-get update后再安装.png

如下图所示,安装正确执行成功的回显信息是:
4.5.4
如果是这个回显:
Package opencv was not found in the pkg-config search path.
Perhaps you should add the directory containing `opencv.pc’
to the PKG_CONFIG_PATH environment variable
No package ‘opencv’ found

则执行:

# 切到root用户去执行
su
mv /usr/local/lib/pkgconfig/opencv4.pc /usr/local/lib/pkgconfig/opencv.pc
# 按键Ctrl+D退出root用户

4.4.6 2.png

因为使用的是opencv4.x的版本,需执行以下命令创建软链接,编译sample的时候才不会报错:fatal error: opencv2/opencv.hpp: No such file or directory

# 切到root用户去执行安装步骤
su
ln -s /usr/local/include/opencv4/opencv2  /usr/include/opencv2
# 按键Ctrl+D退出root用户

如果不将/usr/local/include/opencv4/opencv2软链接到/usr/include/opencv2则报错如下图所示:
4.4.6 3.png

4.5 安装acllite

cd /home/HwHiAiUser/work/samples/inference/acllite/cplusplus
make
# make编译完成后,切到root用户去执行安装步骤
su
make install
# 按键Ctrl+D退出root用户

4.5.1.png

五、sample的编译与执行

5.1 数据准备

请从以下链接获取该样例的输入图片car.jpg,存放在data目录下

cd /home/HwHiAiUser/work/samples/inference/modelInference/sampleCarColor/data
wget https://obs-9be7.obs.cn-east-2.myhuaweicloud.com/models/sampleCarColor/car.jpg --no-check-certificate

在这里插入图片描述

5.2 ATC模型转换

将YOLOV7原始模型和颜色分类模型转换为适配昇腾310处理器的离线模型(*.om文件),放在model路径下。

5.2.1 原始模型获取与转换

将yolov7x.onnx转成yolov7x.om(20T:–soc_version=Ascend310B1 8T:–soc_version=Ascend310B4)

cd /home/HwHiAiUser/work/samples/inference/modelInference/sampleCarColor/model
wget https://obs-9be7.obs.cn-east-2.myhuaweicloud.com/models/sampleCarColor/yolov7x.onnx --no-check-certificate
wget https://obs-9be7.obs.cn-east-2.myhuaweicloud.com/models/sampleCarColor/aipp.cfg --no-check-certificate
# 在本设备执行atc命令进行转换模型时,需切到root用户来转
atc --model=yolov7x.onnx --framework=5 --output=yolov7x --input_shape="images:1,3,640,640"  --soc_version=Ascend310B1  --insert_op_conf=aipp.cfg

5.2.png

将color.pb转成color_dvpp_10batch.om (20T:–soc_version=Ascend310B1 8T:–soc_version=Ascend310B4)

cd /home/HwHiAiUser/work/samples/inference/modelInference/sampleCarColor/model
wget https://obs-9be7.obs.cn-east-2.myhuaweicloud.com/models/sampleCarColor/color.pb --no-check-certificate
wget https://obs-9be7.obs.cn-east-2.myhuaweicloud.com/models/sampleCarColor/aipp_color.cfg --no-check-certificate
# 在本设备执行atc命令进行转换模型时,需切到root用户来转
atc --input_shape="input_1:10,224,224,3" --output=./color_dvpp_10batch --soc_version=Ascend310B1 --framework=3 --model=./color.pb --insert_op_conf=./aipp_color.cfg

5.3.png

5.3 样例的编译

cd /home/HwHiAiUser/work/samples/inference/modelInference/sampleCarColor/scripts/
bash sample_build.sh

sampleCarColor的sample编译报错:

5.4.png

解决办法:将CV_LOAD_IMAGE_UNCHANGED修改为cv::IMREAD_UNCHANGED

vim /home/HwHiAiUser/work/samples/inference/modelInference/sampleCarColor/src/sampleCarColor.cpp +459

5.5.png

sampleCarColor的sample编译通过:

5.6.png

5.4 样例的运行

export LD_LIBRARY_PATH=/usr/local/lib:/usr/local/Ascend/ascend-toolkit/latest/thirdpart/lib:$LD_LIBRARY_PATH
cd /home/HwHiAiUser/work/samples/inference/modelInference/sampleCarColor/scripts
bash sample_run.sh

sampleCarColor的sample运行成功截图:
5.7.png

5.5 样例结果展示说明

发现样例运行结果并没有画框,没有置信度,没有识别到颜色

5.8wu.png

六、解决sample没有置信度,没有识别到颜色的问题

发现样例运行结果与预期不符

6.1 修改并重新编译acllite

vi /home/HwHiAiUser/work/samples/inference/acllite/cplusplus/src/JpegDHelper.cpp

大概41行的位置将两个"Ascend310P3"修改为"Ascend310B1"

5.9.png

具体修改为什么可以通过执行npu-smi info查询得知 (20T:Ascend310B1 8T:Ascend310B4)

5.10.png

重新编译acllite

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_PATHcd /home/HwHiAiUser/work/samples/inference/acllite/cplusplus
make clean
make
make install

6.3.png

6.2 重新编译sampleCarColor

cd /home/HwHiAiUser/work/samples/inference/modelInference/sampleCarColor/scripts/
bash sample_build.sh

sampleCarColor的sample编译通过:

6.4.png

6.3 样例的运行

export LD_LIBRARY_PATH=/usr/local/lib:/usr/local/Ascend/ascend-toolkit/latest/thirdpart/lib:$LD_LIBRARY_PATH
cd /home/HwHiAiUser/work/samples/inference/modelInference/sampleCarColor/scripts
bash sample_run.sh

sampleCarColor的sample运行成功

6.5.1.png

运行成功后得到期望的效果:

6.6.png

http://www.dtcms.com/a/607620.html

相关文章:

  • 四川煤矿标准化建设网站网络推广和信息流优化一样么
  • 常州网站制作价格网站建设投标文件
  • 做商城网站要哪些流程图北京广告公司制作
  • 局域网站建设银行信用卡做网站经验
  • 山东省住房和城乡建设厅网站教育中心个体户核名查询系统
  • 如何在 Mac 上安装 MySQL 8.0.20.dmg(从下载到使用全流程)
  • 如何做微商城网站建设vi企业设计
  • 03340 网站建设与管理品牌网站推广软件
  • 建网站和建小程序多少钱类似淘宝的网站怎么做
  • 网站建设申请方案文样做网站1万多块钱
  • 做h5比较好的网站搜索引擎在线
  • 用js做的网站代码购物网站开发的需求分析
  • 南皮县做网站价格3 建设营销型网站流程图
  • 问答网站如何优化wordpress菜单手机显示下拉菜单
  • 免费建设com网站怎么租服务器做网站
  • 做拍卖网站有哪些wordpress架构分析
  • 单页销售网站模板做自己网站
  • 网站建设维护培训会上的讲话常熟做网站的
  • 做网站在哪手机网站推广
  • 单页网站系统网站建设与维护ppt
  • 第一章 函数与极限 5.极限运算法则
  • 直播是网站怎么做广东英德网站建设
  • 永磁同步电机无速度算法--基于三阶LESO的反电动势观测器
  • 沈阳网站建设首选龙兴科技acfun网站设计改进
  • LeetCode算法日记 - Day 101: 最长公共子序列
  • 手机如做网站jsp做网站能实现什么功能
  • 哪里可以做虚拟货币网站内网专线和外网专线区别
  • 【C++进阶】哈希
  • 萍乡市网站建设制作网站详细步骤
  • 如何创建网站的快捷方式无锡网站seo