【CANN训练营】【新手班】直播课中基于Caffe ResNet-50网络实现图片分类(仅推理)任务实操笔记

 一、任务描述

该样例主要是基于Caffe ResNet-50网络(单输入、单Batch)实现图片分类的功能。

在该样例中:

  1. 先使用样例提供的脚本transferPic.py,将2张*.jpg图片都转换为*.bin格式,同时将图片从1024*683的分辨率缩放为224*224。

  2. 加载离线模型om文件,对2张图片进行同步推理,分别得到推理结果,再对推理结果进行处理,输出top5置信度的类别标识。

    在加载离线模型前,提前将Caffe ResNet-50网络的模型文件转换为适配昇腾AI处理器的离线模型。

    任务资源链接:

    samples: CANN Samples - Gitee.com

二、具体实操

1、申请华为云服务器

2、下载任务资源仓中的样例代码

下载完成

定位到样例目录

3、准备ResNet-50模型。

  1. 获取ResNet-50原始模型。

    您可以从以下链接中获取ResNet-50网络的模型文件(*.prototxt)、预训练模型文件(*.caffemodel),并以运行用户将获取的文件上传至开发环境的“样例目录/caffe_model“目录下。如果目录不存在,需要自行创建。

    • ResNet-50网络的模型文件(*.prototxt):https://obs-9be7.obs.cn-east-2.myhuaweicloud.com/003_Atc_Models/AE/ATC%20Model/resnet50/resnet50.prototxt。
    • ResNet-50网络的预训练模型文件(*.caffemodel):https://obs-9be7.obs.cn-east-2.myhuaweicloud.com/003_Atc_Models/AE/ATC%20Model/resnet50/resnet50.caffemodel。
    • 使用wget命令
  2. 将ResNet-50原始模型转换为适配昇腾AI处理器的离线模型(*.om文件)。

    切换到样例目录,执行如下命令(以昇腾310 AI处理器为例):

    模型转换成功

4、准备测试图片

  1. 请从以下链接获取该样例的输入图片,并以运行用户将获取的文件上传至开发环境的“样例目录/data“目录下。如果目录不存在,需自行创建。

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

    【CANN训练营】【新手班】直播课中基于Caffe ResNet-50网络实现图片分类(仅推理)任务实操笔记_第1张图片

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

  2. 切换到“样例目录/data“目录下,执行transferPic.py脚本,将*.jpg转换为*.bin,同时将图片从1024*683的分辨率缩放为224*224。在“样例目录/data“目录下生成2个*.bin文件。

5、编译运行

 1.设置环境变量,配置程序编译依赖的头文件与库文件路径。

2.切换到样例目录,创建目录用于存放编译文件,例如,本文中,创建的目录为“build/intermediates/host“

3.切换到“build/intermediates/host“目录,执行如下命令生成编译文件。

4.执行如下命令,生成的可执行文件main在“样例目录/out“目录下

5.切换到可执行文件main所在的目录,例如“$HOME/cplusplus/level2_simple_inference/1_classification/resnet50_imagenet_classification/out”,运行可执行文件。

三、扩展内容

1、增添两张图片

同上述步骤在data路径中使用wget命令增添两张照片,并转换为.bin格式

https://scpic.chinaz.net/files/pic/pic9/201712/bpic4731.jpg

http://img.2qqtouxiang.com/pic/TP9791_19.jpg

【CANN训练营】【新手班】直播课中基于Caffe ResNet-50网络实现图片分类(仅推理)任务实操笔记_第2张图片

2、修改代码

 1.使用vim命令编辑sample_process.cpp文件

2.增加新增图片路径

3、重新编译运行

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