【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、下载任务资源仓中的样例代码

cke_25593.png

下载完成

cke_26398.png

定位到样例目录

cke_49732.png

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处理器为例):

    cke_57815.png

    模型转换成功

    cke_60804.png

4、准备测试图片

  1. 请从以下链接获取该样例的输入图片,并以运行用户将获取的文件上传至开发环境的“样例目录/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

    image.png

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

5、编译运行

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

cke_166088.png

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

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

image.png

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

image.png

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

image.png

三、扩展内容

1、增添两张图片

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

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

image.png

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

2、修改代码

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

2.增加新增图片路径

image.png

3、重新编译运行

image.png

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值