一、前言
在训练营进阶班的课程中,老师使用了resnet50的样例,分析了其中的ACL代码,本文将复现这个resnet50分类项目,为后面ACL编程学习做铺垫。
项目的Gitee仓如下:
二、环境配置
1、模型转换
这里我依旧使用的是Atlas 200 DK开发者套件的环境,使用官方镜像也是同理。
我们首先需要下载ResNet-50的模型文件和权重文件: https://obs-9be7.obs.cn-east-2.myhuaweicloud.com/003_Atc_Models/AE/ATC%20Model/resnet50/resnet50.prototxt
https://obs-9be7.obs.cn-east-2.myhuaweicloud.com/003_Atc_Models/AE/ATC%20Model/resnet50/resnet50.caffemodel
我们在项目根目录新建一个model文件夹,将下载的模型文件和权重文件放入其中。
使用MindStudio的模型转换功能将模型转换成能部署在昇腾设备上的离线om格式:
点击上方Ascend栏,选择Model Converter,配置CANN的路径和模型文件路径,其会自动匹配权重文件路径,配置模型输出路径,点击”Next“-->”Finish“,即可开始转模型。
转模型成功!
2、下载测试图片
点击下方链接下载测试图片,放入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
我们需要将这两张图片转换成二进制bin格式,使用transferPic.py脚本:
cd /data
python3 ../script/transferPic.py
三、编译运行
创建个文件夹用于存放编译文件:
mkdir -p build/intermediates/host
执行如下命令生成编译文件:
cd build/intermediates/host
cmake ../../../src -DCMAKE_CXX_COMPILER=g++ -DCMAKE_SKIP_RPATH=TRUE
make
生成的可执行文件将会在out文件夹中。
运行生成的可执行文件:
./main
我们可以看到两张测试图片Top5的置信度。
四、后话
在本次样例的代码中,我们可以看到使用了大量ACL语言,我们可以以这个项目为基础,学习ACL语言的功能与使用。学有余力的小伙伴还可以完成进阶班的大作业喔~
标签:文件,resnet50,模型,第一季,MindStudio,east,com,obs From: https://blog.51cto.com/u_15916909/5968244