Atlas 200 DK 系列--初级篇--图像分类应用的部署和使用

通用分类网络应用
本Application支持运行在Atlas 200 DK或者AI加速云服务器上,实现了对常见的分类网络的推理功能并输出前n个推理结果。
前提条件
部署此Sample前,需要准备好以下环境:
已完成Mind Studio的安装。
已完成Atlas 200 DK开发者板与Mind Studio的连接,交叉编译器的安装,SD卡的制作及基本信息的配置等
软件准备
运行此Sample前,需要按照此章节获取源码包,并进行相关的环境配置。
1. 获取源码包:图像分类部署和使用-Atlas200dk / sample-classification
将https://gitee.com/Atlas200DK/sample-classification仓中的代码以Mind Studio安装用户下载至Mind Studio所在Ubuntu服务器的任意目录,例如代码存放路径为:HOME/sampleclassification2.1MindStudioUbuntuHOME/sample-classification。 2. 获取此应用中所需要的原始网络模型。 参考表1获取此应用中所用到的原始网络模型及其对应的权重文件,并将其存放到Mind Studio所在Ubuntu服务器的任意目录,例如:HOME/ascend/models/classification
操作步骤
shift+g到最低端
1.下载代码,并解压缩,切换到解压之后的文件下:
[email protected]:~/Downloads$ unzip sample-classification-master.zip
[email protected]:~/Downloads$ cd sample-classification-master/
[email protected]:~/Downloads/sample-classification-master$ ll
如下图所示:Atlas 200 DK 系列--初级篇--图像分类应用的部署和使用
2. 配置环境变量
以Mind Studio安装用户登录Mind Studio所在Ubuntu服务器,并设置环境变量DDK_HOME。
执行如下命令在最后一行添加DDK_HOME及LD_LIBRARY_PATH的环境变量。

[email protected]:~/Downloads/sample-classification-master$ vim ~/.bashrc
打开vim之后,shift+g到最低端,添加以后两句话
export DDK_HOME=HOME/tools/che/ddk/ddkexportLDLIBRARYPATH=HOME/tools/che/ddk/ddk export LD_LIBRARY_PATH=DDK_HOME/uihost/lib
本文为:
export DDK_HOME=home/ascend/tools/che/ddk/ddk #ascend给位你自己的用户名
export LD_LIBRARY_PATH=$DDK_HOME/uihost/lib
输入:wq!保存退出

如下图所示:
Atlas 200 DK 系列--初级篇--图像分类应用的部署和使用
[email protected]:~/Downloads/sample-classification-master$ source ~/.bashrc #使环境变量生效
执行的命令如图所示:
Atlas 200 DK 系列--初级篇--图像分类应用的部署和使用
环境配置完毕!!!!!!!

  1. 部署–用部署脚本部署应用
    [email protected]:~/Downloads/sample-classification-master$ bash deploy.sh 192.168.15.167 internet

(bash是整个引用的名字、部署脚本、开发板IP地址、internet代表模型文件的部署方式,默认在线部署,若Mind Studio所在Ubuntu系统已连接网络,请使用internet模式,在线下载依赖代码库ezdvpp,local:若Mind Studio所在Ubuntu系统未连接网络,请使用local模式,执行此命令前,需要参考公共代码库下载将依赖的公共代码库ezdvpp下载到“sample-classification/script“目录下)
部署完毕如下图所示:
Atlas 200 DK 系列--初级篇--图像分类应用的部署和使用
4. 下载模型和图片,传模型和图片到开发板
在宿主机上下载模型,将其模型传到开发板;
Atlas 200 DK 系列--初级篇--图像分类应用的部署和使用
Atlas 200 DK 系列--初级篇--图像分类应用的部署和使用
重新打开一个终端,登入开发板,建一个目录存放下载的模型
Atlas 200 DK 系列--初级篇--图像分类应用的部署和使用
然后再回到宿主机的终端命令,在下载好的模型的目录下,将其拷贝到开发板上,命令如下:
[email protected]:~/Downloads$ scp alexnet.om [email protected]:/home/HwHiAiUser/models
Atlas 200 DK 系列--初级篇--图像分类应用的部署和使用
然后去开发板上去看看,模型是否拷贝过去
Atlas 200 DK 系列--初级篇--图像分类应用的部署和使用
在宿主机上下载图片,将其图片传到开发板。
大部分模型对输入都有要求的,本文的输入是227X227,准备一个大小为227X227的图片,上传到开发板上。

  1. 在开发板上去执行
    a.在Mind Studio所在Ubuntu服务器中,以HwHiAiUser用户SSH登录到Host侧。
    ssh [email protected]
    对于Atlas 200 DK,host_ip为192.168.15.167(NIC连接)。
    对于AI加速云服务器,host_ip即为当前Mind Studio所在服务器的IP地址。
    b.进入贯通网络的可执行文件所在路径。
    cd ~/HIAI_PROJECTS/ascend_workspace/classification/out
    c.执行应用程序
    命令如下,脚本会将推理结果在执行终端直接打印显示:
    python3 run_classification.py -m ~/models/alexnet.om -w 227 -h 227 -i ./apple.jpg -n 10
    命令解析如下:
    -m --model_path:离线模型存储路径。
    -w model_width:模型的输入图片宽度,为16~4096之间的整数,请参考表1在gitee上查看所使用模型文件的Readme,获取模型要求的输入数据的宽和高。
    -h model_height:模型的输入图片高度,为16~4096之间的整数,请参考表1在gitee上查看所使用模型文件的Readme,获取模型要求的输入数据的宽和高。
    -i input_path:输入图片的路径,可以是目录,表示当前目录下的所有图片都作为输入(可以指定多个输入)。
    -n top_n:输出前n个推理结果。
    Atlas 200 DK 系列--初级篇--图像分类应用的部署和使用
    结果如下图所示:
    Atlas 200 DK 系列--初级篇--图像分类应用的部署和使用
    推理之后展示结果有各种各样的方式,可以塞到图片中去展示,可以放到服务器去展示,也可以像本文一样直接放开控制台去展示,跟普通的软件设计是一样的。