【2023 · CANN训练营第一季】晟腾AI入门课(PyTorch) 第三章 AI应用开发

遇到问题如何求助

开发、编译或运行应用出错时不知道该怎么解决,或者有优化建议要反馈,可以借助以下渠道:

  • 参考CANN Sample仓中的样例开发时,相关问题可以在该仓上提Issue,该仓的接口人会定期处理问题
  • 模型相关问题,可在ModelZoo仓上提Issue,该仓的接口人会定期处理问题
  • 也可在晟腾社区论坛中查阅经验贴、或者发求助帖,论坛上的其他开发人员会跟帖,论坛的接口人也会定期审视问题。

需要提取准备什么

具备编程经验

在这里插入图片描述

熟悉Linux基本操作

本课程中的操作涉及Linux操作系统上的如下基本操作,建议在学习前先学习这部分内容:

  • 远程登录Linux服务器
  • 文件与目录的管理,包括新增、删除文件或目录等
  • 熟悉vi/vim文本编辑器的使用

了解深度学习

基本原理、基本概念等介绍详见链接

云服务环境申请&AI应用体验

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

申请云环境

申请云环境包括以下几步:

  • 获取华为云账号名以及项目ID,以便课程接口人推送云环境镜像
  • 使用代金券购买ECS云环境,以便获取到编译、运行应用的环境

获取华为账号和项目ID

登录华为云账号
登录链接
华为账号
登录成功后-账号中心-基本中心
可以看到需要的华为账号名

项目ID
我的凭证-项目列表
选择北京4的项目id即可

使用代金券购买华为ECS

接收共享镜像
将华为账号和项目id提供给晟腾小助手,小助手提供共享镜像之后,选择接收共享镜像,
镜像服务-共享镜像-接收
接受之后查找代金券位置
费用中心-优惠折扣-代金券-立即使用代金券
用代金券购买ECS
控制台-弹性云服务器-购买
计费模式选择按需计费
区域选择华北4
可用区选择随机分配
架构选择x86
规格选择AI加速型,选择第一个ai1s.large.4即可,搭载了晟腾310芯片
镜像选择共享镜像创建即可
网络选择默认值
安全组开放22端口
弹性公网选择流量计费即可
带宽选择100
名称、密码自定义即可
下一步确认即可
购买完成后回到弹性云服务器界面等待状态变为创建成功,拿到公网IP后即可进行远程登录

快速体验

申请到云环境后,即可根据服务器的IP地址登录对应的服务器,编译、运行一个应用了。

打开MobaXterm终端工具

创建一个session
在这里插入图片描述
ip填写服务器公网IP
用户名填写root用户
密码填写自己设置的密码

切换 HwHiAiUser用户

su - HwHiAiUser

切换目录

cd Ascend
cd ascend-toolkit

跑样例

样例地址
根据readme进行操作

下载模型&转模型

下载仓
git clone https://gitee.com/ascend/samples.git

进入样例
cd $HOME/samples/cplusplus/level2_simple_inference/2_object_detection/YOLOV3_coco_detection_picture/model   

下载模型
wget https://obs-9be7.obs.cn-east-2.myhuaweicloud.com/003_Atc_Models/AE/ATC%20Model/Yolov3/yolov3.caffemodel
wget https://obs-9be7.obs.cn-east-2.myhuaweicloud.com/003_Atc_Models/AE/ATC%20Model/Yolov3/yolov3.prototxt
wget https://obs-9be7.obs.cn-east-2.myhuaweicloud.com/models/YOLOV3_coco_detection_picture/aipp_nv12.cfg

转模型
atc --model=yolov3.prototxt --weight=yolov3.caffemodel --framework=0 --output=yolov3 --soc_version=Ascend310 --insert_op_conf=aipp_nv12.cfg

显示ATC run success就是模型转换好了

样例部署

进入脚本目录
cd $HOME/samples/cplusplus/level2_simple_inference/2_object_detection/YOLOV3_coco_detection_picture/scripts

执行编译
bash sample_build.sh 

输入x86即可

样例运行

运行
bash sample_run.sh

查看输出
在这里插入图片描述
图片类型为狗 置信度为99% 输出成功

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

学习目标

  • 掌握应用的基本开发流程
    AscendCL接口支持C&C++、Python两种编程语言,本章以增加C&C++为例
    晟腾社区文档中心,选择开发者文档(社区版)中的6.3.RC1.alpha002版本,在应用开发区域淡季使用python开发,可以查看基于Python语言的应用开发 链接
  • 掌握编译、运行应用的方法
  • 了解如何获取和查看应用运行日志,具备基本的问题定界、定位能力

图片分类应用简介

“图片分类应用”,从名称上,我们也能直观地看出它的作用:按照所属的类别来区分图片。
在这里插入图片描述
但“图片分类应用”是怎么做到的呢?需要先有一个能做到图片分类的模型,我们可以直接使用一些训练好的开源模型,也可以基于开源模型的源码进行修改、重新训练,还可以自己基于算法、框架构建适合自己的模型。
因为目前是初级课程,此处我们直接获取已经训练好的开源模型,这种最简单、最快。
本章以Caffe框架的开源模型ResNet-50模型为例说明其输入、输出,以便理解后续的开发场景:
模型对输入要求:输入图片的编码格式为RGB、分辨率为224*224.
模型的输出:Top5置信度的类别标签及其对应置信度。
说明:
置信度是指图片所属某个类别的可能性。
可以通过类别标签查阅其对应的类别。类别标签和类别的对应关系与训练模型时使用的数据集有关,需要查阅对应数据集的标签及类别的对应关系。

开发图片分类应用

在线课程
在线实验
文档
开源样例

编译及运行应用 图片分类的编译运行(基于Caffe ResNet-50网络)

文档

进入晟腾样例仓 点击右侧下载样例
在这里插入图片描述
本次使用的是resnet50_imagenet_classification样例
包括测试数据
头文件
cpp文件
编译脚本等
在这里插入图片描述
将样例上传至安装了CANN环境的服务器上
有了样例后 编译运行包括四个步骤

准备模型

需要获取prototxt caffemodel文件 并放置在caffmodel文件下在这里插入图片描述
但晟腾AI处理器无法识别原始的caff网络模型 所以需要使用ATC命令进行模型转换
在这里插入图片描述

准备数据

准备测试用的图片 样例是jpge格式 需要rgb格式

编译程序

通过环境变量的方式指向头文件库文件的位置
通过设置DDK path找到头文件的位置
通过设置NPU_HOST_LIB找到库文件的位置
在这里插入图片描述
只需cmake语句
在这里插入图片描述
生成的可执行文件在out目录下
再执行make

运行程序

在out目录中执行main

获取运行日志

文档

从哪获取日志

日志目录默认为“CANN软件安装目录/ascend/log”,应用运行之后,可以在该目录下查阅日志。
在这里插入图片描述

日志中关键信息有哪些

在这里插入图片描述

(ps:中间有一段比较简短,因为官方课程就这样,剩余部分我学了再补吧)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

星火飞花

感谢打赏

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值