【CANN训练营第三季】基于Caffe ResNet-50网络实现图片分类在昇腾310服务器的推理过程

云服务器规格(CPU架构:鲲鹏计算)
【CANN训练营第三季】基于Caffe ResNet-50网络实现图片分类在昇腾310服务器的推理过程_第1张图片

CANN Toolkit版本5.1.RC2
在这里插入图片描述

切换用户

su - HwHiAiUser

下载sample仓库

# 进入目录/home/HwHiAiUser
cd ~
# 命令行下载master代码
git clone https://gitee.com/ascend/samples.git   
# 切换到历史tag,以v0.6.0举例
git checkout v0.6.0

准备模型

# 进入样例目录
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

模型转换成功的截图
【CANN训练营第三季】基于Caffe ResNet-50网络实现图片分类在昇腾310服务器的推理过程_第2张图片

准备测试图片

# 创建并进入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

文件转换成功截图
【CANN训练营第三季】基于Caffe ResNet-50网络实现图片分类在昇腾310服务器的推理过程_第3张图片

编译运行代码

# 配置环境变量
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

编译成功截图
【CANN训练营第三季】基于Caffe ResNet-50网络实现图片分类在昇腾310服务器的推理过程_第4张图片

运行应用截图

【CANN训练营第三季】基于Caffe ResNet-50网络实现图片分类在昇腾310服务器的推理过程_第5张图片

你可能感兴趣的:(CANN,昇腾,caffe,人工智能,深度学习)