云服务器规格(CPU架构:鲲鹏计算)
CANN Toolkit版本5.1.RC2
切换用户
su - HwHiAiUser 1
下载sample仓库
# 进入目录/home/HwHiAiUser cd ~ # 命令行下载master代码 git clone https://gitee.com/ascend/samples.git # 切换到历史tag,以v0.6.0举例 git checkout v0.6.0 123456
准备模型
# 进入样例目录 cd samples/cplusplus/level2_simple_inference/1_classification/resnet50_imagenet_classification # 创建并进入caffe_model目录 mkdir caffe_model && cd caffe_model # 下载ResNet-50网络的模型文件(*.prototxt) wget https://obs-9be7.obs.cn-east-2.myhuaweicloud.com/003_Atc_Models/AE/ATC%20Model/resnet50/resnet50.prototxt # 下载ResNet-50网络的权重文件(*.caffemodel) wget https://obs-9be7.obs.cn-east-2.myhuaweicloud.com/003_Atc_Models/AE/ATC%20Model/resnet50/resnet50.caffemodel # 切换到样例目录 cd .. # 将ResNet-50原始模型转换为适配昇腾AI处理器的离线模型(*.om文件) atc --model=caffe_model/resnet50.prototxt --weight=caffe_model/resnet50.caffemodel --framework=0 --output=model/resnet50 --soc_version=Ascend310 --input_format=NCHW --input_fp16_nodes=data --output_type=FP32 --out_nodes=prob:0
12345678910111213141516模型转换成功的截图
准备测试图片
# 创建并进入data目录 mkdir data && cd data # 下载测试图片dog1_1024_683.jpg wget https://obs-9be7.obs.cn-east-2.myhuaweicloud.com/models/aclsample/dog1_1024_683.jpg # 下载测试图片dog2_1024_683.jpg wget https://obs-9be7.obs.cn-east-2.myhuaweicloud.com/models/aclsample/dog2_1024_683.jpg # 执行transferPic.py脚本,将*.jpg转换为*.bin,同时将图片从1024*683的分辨率缩放为224*224 python3 ../script/transferPic.py 12345678910
文件转换成功截图
编译运行代码
# 配置环境变量 export DDK_PATH=$HOME/Ascend/ascend-toolkit/latest/arm64-linux export NPU_HOST_LIB=$DDK_PATH/runtime/lib64/stub # 创建并进入build/intermediates/host目录,用于存放编译文件 mkdir -p build/intermediates/host && cd build/intermediates/host # 交叉编译 cmake ../../../src -DCMAKE_CXX_COMPILER=aarch64-linux-gnu-g++ -DCMAKE_SKIP_RPATH=TRUE # 执行如下命令,生成的可执行文件main在“样例目录/out“目录下 make # 切换到可执行文件main所在的目录 cd $HOME/cplusplus/level2_simple_inference/1_classification/resnet50_imagenet_classification/out # 运行可执行文件 ./main
123456789101112131415161718编译成功截图
运行应用截图