基于Caffe ResNet-50网络实现图片分类(视频解码+同步推理)

举报
G-washington 发表于 2024/06/25 13:45:18 2024/06/25
【摘要】 该样例是基于Caffe ResNet-50网络来实现图片分类功能,芯片要求是Ascend310、310P和910。在开始前,首先要建议大家点击下方图片,报名CANN训练营活动,然后入群找小助手领取代金券,这样就可以零成本进行样例开发了。本次样例使用的是vdec,VDEC(Video Decoder)负责将H264/H265格式的视频码流解码为YUV/RGB格式的图片。输入码流格式支持H264...

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


cke_2038.png


本次样例使用的是vdec,VDEC(Video Decoder)负责将H264/H265格式的视频码流解码为YUV/RGB格式的图片。输入码流格式支持H264/H265,若码流中有坏帧、缺帧等情况,解码器VDEC可能会丢帧,下图是VDEC整个过程实现的流程图:

cke_6291.png


参考下方的链接进行样例体验:

https://gitee.com/ascend/samples/tree/master/cplusplus/level2_simple_inference/1_classification/vdec_resnet50_classification


环境准备


具体的步骤,可以参考我之前发的文章,这里简单介绍下,首先购买华为云弹性云服务器,如图:

cke_9235.png

通过下方链接下载CANN8版本的软件包和驱动:

https://www.hiascend.com/developer/download/community/result?module=cann

https://www.hiascend.com/hardware/firmware-drivers/community?product=2&model=3&cann=8.0.RC2.alpha001&driver=1.0.22.alpha

上传到服务器,执行命令升级CANN版本。


样例准备及运行


下载样例和resnet50模型等样例相关文件上传到对应的文件夹:

cke_12144.png

ATC转换模型文件:

atc --model=caffe_model/resnet50.prototxt --weight=caffe_model/resnet50.caffemodel --framework=0 --soc_version=Ascend310 --insert_op_conf=caffe_model/aipp.cfg --output=model/resnet50_aipp

命令执行后,需要等待一会,我们借此正好简单介绍下上面参数的含义,--model代表需要转换的模型文件;--weight代表的是权重文件;--framework为原始的框架,0代表caffe,1代表mindspore,3代表tensorflow,5代表onnx;soc_version代表的是芯片型号,insert_op_conf代表算子配置文件;--output代表的是模型的输出位置。

cke_15105.png

编译运行

配置环境变量,需要注意的是$HOME是你的CANN安装路径,比如我的安装路径上在/usr/local,所以需要改成合适的路径,否则编译会失败。

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

如下图说明编译成功:

cke_18097.png

如果上面的环境配置错误,那么有可能在编译时会出现如下错误:

cke_21142.png

样例运行

切换到样例的out路径下,里面有个main文件,一般是有执行权限的,如果没有需要为其增加权限。

cd ../../../out  ./main

输出如下图,代表样例执行成功:

cke_24225.png

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。