基于昇思MindSpore与OrangePi AIpro的训推全流程指导

OrangePi AIpro介绍

OrangePi AIpro(香橙派 AIpro)采用昇腾AI技术路线,具体为4核64位处理器和AI处理器,集成图形处理器,目前支持8-12TOPS和20TOPS AI算力,其中8-12TOPS算力开发板拥有12GB/24GB LPDDR4X,20TOPS算力开发板拥有8GB/16GB LPDDR4X。两种算力的开发板均可以外接32GB/64GB/256GB eMMC模块,支持双4K高清输出。

目前已实现OrangePi AIpro开发板的系统镜像预置昇思MindSpore AI框架,并在后续版本迭代中持续演进,当前已支持昇思MindSpore官网教程涵盖的全部网络模型。OrangePi AIpro开发板向开发者提供的官方系统镜像有openEuler版本预ubuntu版本,两个镜像版本均已预置昇思MindSpore,便于用户体验软硬协同优化后带来的高效开发体验。同时,欢迎开发者自定义配置昇思MindSpore和CANN运行环境。

接下来的教程将演示如何基于OrangePi AIpro进行自定义环境搭建,如何在OrangePi AIpro启动Jupyter Lab,并以ResNet50图像分类为例,介绍OrangePi AIpro上基于昇思MindSpore进行全流程(云端训练+离线推理)运行的步骤。

云端训练
图像分类是最基础的计算机视觉应用,属于有监督学习类别,如给定一张图像(猫、狗、飞机、汽车等等),判断图像所属的类别。本篇将介绍使用ResNet50网络对CIFAR-10数据集进行分类。

01环境搭建
(1)华为云—贵阳一升级MindSpore2.3.1版本
在华为云(https://www.huaweicloud.com/product/modelarts.html)搭建训练环境:

下载whl包进行安装,终端运行如下命令:

wget https://ms-release.obs.cn-north-4.myhuaweicloud.com/2.3.1/MindSpore/unified/aarch64/mindspore-2.3.1-cp39-cp39-linux_aarch64.whl
# 在终端进入到whl包所在路径,执行pip install命令
pip install mindspore-2.3.1-cp39-cp39-linux_aarch64.whl

(2)OrangePi AIpro(香橙派 AIpro):镜像烧录、升级MindSpore和CANN版本

具体实现请参考香橙派开发中的环境搭建指南部分(https://www.mindspore.cn/docs/zh-CN/master/orange_pi/environment_setup.html)。
注:开发板上的昇思MindSpore版本需要与云环境上的版本保持一致;CANN的版本需要与昇思MindSpore的版本相匹配。

02训练代码文档下载
进入昇思MindSpore官网,下载ResNet50案例的notebook文档,链接如下:https://www.mindspore.cn/tutorials/application/zh-CN/r2.3.0rc2/cv/resnet50.html
ResNet网络介绍、数据集准备和加载、网络构建、模型训练与评估等都有详细说明。

image.png

03模型训练
将2.2环节下载的训练代码文档上传到ModelArts开发平台。

image.png

训练前修改部分代码:

步骤1:添加数据下载权限
在数据集准备与加载模块添加数据下载权限

image.png

步骤2:添加mindir模型导出代码
在可视化模型预测部分添加导出mindir模型的代码

Inputs = ms.Tensor(np.ones([4,3,32,32]).astype(np.float32))
ms.export(net, inputs, file_name= "resnet50", file_format= "MINDIR")

image.png

在云环境上运行notebook文档,生成mindir模型文件。

image.png

右键下载mindir模型文件至本地。

image.png

OrangePi AIpro上离线推理
本环节在香橙派AIpro开发板上,首先进行离线模型转换,使用convert命令将mindir模型转换为om模型,然后使用AscendCL开发推理代码,实现图像分类推理任务。

01推理代码文档下载
进入昇思MindSpore版的开发板离线推理代码仓,下载ResNet50的离线推理文件,下载地址如下:https://github.com/mindspore-courses/orange-pi-mindspore/tree/master/infer/03-ResNet50

02Convert命令获取om模型文件
步骤1:上传mindir模型文件
在“/home/HwHiAiUser/samples/noteboooks”目录下创建ResNet50_2.2.14文件夹,将训练获得的mindir模型文件放入该文件夹。

image.png

步骤2:mindir模型文件转换为om模型

在“/home/HwHiAiUser/samples/noteboooks”目录下运行如下命令,生成om模型文件。

#获取bash.sh文件
wget https://mindspore-courses.obs.cn-north-4.myhuaweicloud.com/orange-pi-mindspore/package/bash.sh

image.png

#执行bash.sh文件
source bash.sh /home/HwHiAiUser/samples/notebooks/ResNet50_2.2.14/resnet50.mindir resnet50

注:bash.sh文件执行时需要传入两个参数,如上述第二个命令所示:
第一个参数是开发板上存放的mindir文件的绝对路径;第二个参数是生成的om文件的名称;运行完成后生成的om文件和bash.sh文件同目录。

image.png

03创建推理项目文件夹
在“/home/HwHiAiUser/samples/noteboooks”目录下创建ResNet50文件夹,将3.1下载的推理代码文档放入该文件夹,并在ResNet50文件夹下创建model文件夹,将3.3.1生成的om模型放入model文件夹下。目录如下:

  • — main_resnet50.ipynb
  • --resnet50.om
  • — model
  • ResNet50



04启动notebook运行环境执行推理应用
步骤1:运行start_notebook.sh文件

使用如下命令运行start_notebook.sh文件

./start_notebook.sh

打开notebook运行环境,可以看到创建的ResNet50项目文件夹。

image.png

image.png

步骤2:修改推理代码
打开main_resnet50.ipynb文档,在下载环节,注释掉om文件下载的代码,保留数据集下载的代码。

image.png

步骤3:执行推理应用

运行main_resnet50.ipynb文档,进行图像分类推理应用。

image.png

实验总结
本实验实现基于昇思MindSpore的ResNet50图像分类离线推理全流程实践。训练环节,首先基于昇思MindSpore AI框架搭建ResNet50模型,完成代码开发,然后在华为云ModelArts平台,使用cifar-10数据集完成模型训练,获得mindir模型文件。推理环节,在香橙派AIpro开发板上,首先进行离线模型转换,使用convert命令将mindir模型转换为om模型,然后使用AscendCL开发推理代码,实现图像分类推理任务。
更多基于MindSpore框架开发的全流程实验指导文档详见orange-pi-mindspore中的基于昇思MindSpore+OrangePi AIpro的训推全流程指导书(离线推理https://github.com/mindspore-courses/orange-pi-mindspore/tree/master/infe

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值