【2023 · CANN训练营第一季】昇腾AI入门课(Pytorch)——昇腾AI入门课(下)

图片分类应用开发

【2023 · CANN训练营第一季】昇腾AI入门课(Pytorch)——昇腾AI入门课(下)_第1张图片

第3节 云服务器环境申请&AI应用体验

第1单元 本节学习目标

了解如何使用代金券申请云环境,并在云环境中快速体验一个样例的运行。

第2单元 申请云环境

操作视频
1.获取华为云帐号名以及项目 ID ,以便课程接口人给您推送云环境镜像。
2.使用代金券购买 ECS 云环境,以便获取到编译、运行应用的环境。
购买 ECS 云环境成功后,您可以获取到一个服务器 IP 地址, SSH 方式远程登录到该服务器上,您可以接着快速体验样例,参见第3单元快速体验。
获取华为账号和项目 ID :
1.网页登录
https://www.huaweicloud.com/
进入到网页后,点击账号中心,账号名如下:
【2023 · CANN训练营第一季】昇腾AI入门课(Pytorch)——昇腾AI入门课(下)_第2张图片
然后点击我的凭证:
【2023 · CANN训练营第一季】昇腾AI入门课(Pytorch)——昇腾AI入门课(下)_第3张图片
账号ID如下:
【2023 · CANN训练营第一季】昇腾AI入门课(Pytorch)——昇腾AI入门课(下)_第4张图片
有了华为云账号和项目ID之后,就可以填以下链接申请镜像:
镜像申请
申请好了镜像之后,可以填以下链接,申请代金券:
代金券申请
如果在以下页面看到代金券和镜像发放,就可以创建云服务器了:
【2023 · CANN训练营第一季】昇腾AI入门课(Pytorch)——昇腾AI入门课(下)_第5张图片
【2023 · CANN训练营第一季】昇腾AI入门课(Pytorch)——昇腾AI入门课(下)_第6张图片
【2023 · CANN训练营第一季】昇腾AI入门课(Pytorch)——昇腾AI入门课(下)_第7张图片
使用代金券购买ECS:
【2023 · CANN训练营第一季】昇腾AI入门课(Pytorch)——昇腾AI入门课(下)_第8张图片
【2023 · CANN训练营第一季】昇腾AI入门课(Pytorch)——昇腾AI入门课(下)_第9张图片
【2023 · CANN训练营第一季】昇腾AI入门课(Pytorch)——昇腾AI入门课(下)_第10张图片
【2023 · CANN训练营第一季】昇腾AI入门课(Pytorch)——昇腾AI入门课(下)_第11张图片
【2023 · CANN训练营第一季】昇腾AI入门课(Pytorch)——昇腾AI入门课(下)_第12张图片
最后点击同意,即可完成购买。
在云服务器可以看到刚刚购买的服务器:
【2023 · CANN训练营第一季】昇腾AI入门课(Pytorch)——昇腾AI入门课(下)_第13张图片

第4节 图片分类应用应用开发过程精讲

可以将服务器与本地的IDE连接,我这里连接的是VSCode:

注意:在连接到VSCode之前,要注意先把弹性云服务器的远程登录打开
【2023 · CANN训练营第一季】昇腾AI入门课(Pytorch)——昇腾AI入门课(下)_第14张图片

复制弹性公网IP地址:
在这里插入图片描述
打开VSCode:
点击远程连接扩展,如果没有这个扩展,可以在VSCode 扩展插件里下载Remote - SSH:
【2023 · CANN训练营第一季】昇腾AI入门课(Pytorch)——昇腾AI入门课(下)_第15张图片
输入链接指令:ssh root@你的公网IP地址
【2023 · CANN训练营第一季】昇腾AI入门课(Pytorch)——昇腾AI入门课(下)_第16张图片
即可链接成功。
修改默认用户密码:

passwd HwHiAiUser

【2023 · CANN训练营第一季】昇腾AI入门课(Pytorch)——昇腾AI入门课(下)_第17张图片
切换用户:

su - HwHiAiUser

使用HwHiAiUser创建一个新的ssh连接,密码为刚刚设置的。
【2023 · CANN训练营第一季】昇腾AI入门课(Pytorch)——昇腾AI入门课(下)_第18张图片
新建终端就是这样的页面:
【2023 · CANN训练营第一季】昇腾AI入门课(Pytorch)——昇腾AI入门课(下)_第19张图片
切换用户并查看文件:
在这里插入图片描述
编译及运行应用
转换模型
改用bash

sudo dpkg-reconfigure dash

选择no
【2023 · CANN训练营第一季】昇腾AI入门课(Pytorch)——昇腾AI入门课(下)_第20张图片

【2023 · CANN训练营第一季】昇腾AI入门课(Pytorch)——昇腾AI入门课(下)_第21张图片

ls -l `which sh`

要注意这里的但引号是英文输入法下的Tab键上面的引号,输入其他的可能会报错,得到/bin/sh - > bash 说明正确。
在这里插入图片描述
再次切换用户

su - HwHiAiUser

一定要出现HwHiUser@ecs-pytorch才可以。
在这里插入图片描述
下载项目到仓库:

git clone https://gitee.com/ascend/samples.git

【2023 · CANN训练营第一季】昇腾AI入门课(Pytorch)——昇腾AI入门课(下)_第22张图片

基于Caffe ResNet-50网络实现图片分类(同步推理)

切换到华为用户:
【2023 · CANN训练营第一季】昇腾AI入门课(Pytorch)——昇腾AI入门课(下)_第23张图片
根据下面的readme文件
【2023 · CANN训练营第一季】昇腾AI入门课(Pytorch)——昇腾AI入门课(下)_第24张图片
新建放ResNet-50模型的文件夹:

mkdir caffee_model

下载模型文件:

wget https://obs-9be7.obs.cn-east-2.myhuaweicloud.com/003_Atc_Models/AE/ATC%20Model/resnet50/resnet50.prototxt

【2023 · CANN训练营第一季】昇腾AI入门课(Pytorch)——昇腾AI入门课(下)_第25张图片
下载权重文件:

wget https://obs-9be7.obs.cn-east-2.myhuaweicloud.com/003_Atc_Models/AE/ATC%20Model/resnet50/resnet50.caffemodel

将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

【2023 · CANN训练营第一季】昇腾AI入门课(Pytorch)——昇腾AI入门课(下)_第26张图片
ATC启动成功:
在这里插入图片描述
在model文件夹下可以看到生成了一个resnet50.om文件(在输出路径不用注明resnet50.om,会自动生成.om文件)

准备测试文件
切换到data文件夹下,下载图片:

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

在data目录下生成两个文件
【2023 · CANN训练营第一季】昇腾AI入门课(Pytorch)——昇腾AI入门课(下)_第27张图片
切换到“样例目录/data“目录下,执行transferPic.py脚本

python3 ../script/transferPic.py

这里会报错
ModuleNotFoundError: No module named 'PIL

正确执行命令为:

python3.6 ../script/transferPic.py

【2023 · CANN训练营第一季】昇腾AI入门课(Pytorch)——昇腾AI入门课(下)_第28张图片

编译运行
设置环境变量

export DDK_PATH=$HOME/Ascend/ascend-toolkit/latest
export NPU_HOST_LIB=$DDK_PATH/runtime/lib64/stub

创建目录用于存放编译文件

mkdir -p build/intermediates/host

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

cd build/intermediates/host
cmake ../../../src -DCMAKE_CXX_COMPILER=g++ -DCMAKE_SKIP_RPATH=TRUE

【2023 · CANN训练营第一季】昇腾AI入门课(Pytorch)——昇腾AI入门课(下)_第29张图片
执行如下命令,生成的可执行文件main在“样例目录/out“目录下。

make

【2023 · CANN训练营第一季】昇腾AI入门课(Pytorch)——昇腾AI入门课(下)_第30张图片
运行环境
切换到可执行文件main所在的目录

cd ../../../out/

给该目录下的main文件加执行权限。

chmod +x main

运行可执行文件

./main

出现以下信息代表执行成功
【2023 · CANN训练营第一季】昇腾AI入门课(Pytorch)——昇腾AI入门课(下)_第31张图片

说明: 类别标签和类别的对应关系与训练模型时使用的数据集有关,本样例使用的模型是基于imagenet数据集进行训练的,您可以在互联网上查阅imagenet数据集的标签及类别的对应关系,例如,可单击Link查看。 当前屏显信息中的类别标识与类别的对应关系如下: “161”: [“basset”, “basset hound”]、 “267”: [“standard poodle”]。

获取运行日志
日志目录默认为"CANN软件安装目录/ascend/log",应用运行之后,可在该目录下查阅日志。
日志参考

日志中关键信息
【2023 · CANN训练营第一季】昇腾AI入门课(Pytorch)——昇腾AI入门课(下)_第32张图片

你可能感兴趣的:(人工智能,pytorch,python)