写点什么

样例体验一之图片解码缩放与同步推理

作者:x
  • 2024-06-25
    山东
  • 本文字数:1434 字

    阅读完需:约 5 分钟

该样例是基于 Caffe ResNet-50 网络来实现图片分类功能,芯片要求是 Ascend310、310P 和 910。在开始前,首先要建议大家报名 CANN 训练营活动,然后入群找小助手领取代金券,这样就可以零成本进行样例开发了。


报名链接:https://www.hiascend.com/developer/activities/details/faf270bfad7148c1beca727c5a70869e/signup?channelCode=0&recommended=182735


VPC(Vision Preprocessing Core)负责图像处理功能,支持对图片做抠图、缩放、格式转换等操作,大概流程可以分为创建通道描述、创建通道、申请内存、数据处理、释放内存、释放通道,具体的接口和流程可以参考下方链接:


VPC 图像处理典型功能-DVPP 图像/视频处理(媒体数据处理 V1)-媒体数据处理(含图像/视频等)-AscendCL 应用开发(C&C++)-应用开发-CANN 社区版 8.0.RC2.alpha001 开发文档-昇腾社区


服务器购买


我们首先打开华为云官网,点击弹性云服务器,选择按需计费,AI 加速器,我们选用的是 x86 架构,当然也可以选择鲲鹏架构,系统用公共镜像就可以,ubuntu 和 centos 都可以,根据习惯选择。



点击下一步,选择网络,如果没有创建子网的话,需要先创建,公网带宽,根据个人需求,在这里我建议选用按流量计费,这样在不使用服务器的时候,可以点击停止,不用解绑弹性公网 IP。最后输入登陆账户和密码,就可以点击创建,等待创建成功了。


环境准备


分别点击如下链接下载 CANN-toolkit 软件包和驱动:


社区版资源下载-资源下载中心-昇腾社区


社区版-固件与驱动-昇腾社区



下载完成后,我们可以通过 mobaxterm 将文件上传到服务器。


因为本身的服务器是安装有 cann 软件包的,不过版本比较低,在软件包上传完成后,我们就可以进行软件的升级了。


驱动升级:chmod + ./{product name}-npu-firmware_x.x.x.x.X.run


./{product name}-npu-firmware_x.x.x.x.X.run --upgrade


升级成功后,可以执行 npu-smi 查看版本。


CANN 升级:chmod +x 软件包名.run


 ./软件包名.run --upgrade
复制代码


使环境变量生效: 在安装目录下,执行./set_env.sh


设置 python 变量:


#用于设置 python3.7.5 库文件路径


export LD_LIBRARY_PATH=/usr/local/python3.7.5/lib:$LD_LIBRARY_PATH


#如果用户环境存在多个 python3 版本,则指定使用 python3.7.5 版本


export PATH=/usr/local/python3.7.5/bin:$PATH


下载并运行样例


点击链接下载链接:


samples: CANN Samples - Gitee.com


上传到服务器,解压,进入相关文件夹。



下载 resnet50 模型相关文件:


ResNet-50 网络的模型文件(*.prototxt):单击 Link 下载该文件。


ResNet-50 网络的权重文件(*.caffemodel):单击 Link 下载该文件。


下载完成后,上传到如上路径的 model 文件夹下,执行 atc 模型转换命令。


准备单算子模型,执行命令:


atc --singleop=out/op_models/op_list.json --soc_version=Ascend310 --output=out/op_models


准备测试图片,将其上传到 data 文件夹下:


https://obs-9be7.obs.cn-east-2.myhuaweicloud.com/models/aclsample/dog1_1024_683.jpg


https://obs-9be7.obs.cn-east-2.myhuaweicloud.com/models/aclsample/dog2_1024_683.jpg


编译运行


我们的开发环境和运行环境操作架构一样使用如下配置:


export DDK_PATH=$HOME/Ascend/ascend-toolkit/latest


export NPU_HOST_LIB=$DDK_PATH/runtime/lib64/stub


切换到样例目录,创建目录用于存放编译文件:


mkdir -p build/intermediates/host


执行编译命令:


cd build/intermediates/host


cmake ../../../src -DCMAKE_CXX_COMPILER=g++ -DCMAKE_SKIP_RPATH=TRUE


make


编译成功后,切换到 out 路径,运行样例:



如图,代表样例运行成功了!


用户头像

x

关注

还未添加个人签名 2020-03-27 加入

还未添加个人简介

评论

发布
暂无评论
样例体验一之图片解码缩放与同步推理_x_InfoQ写作社区