[嵌入式AI从0开始到入土]3_官方模型适配工具使用

[嵌入式AI从0开始到入土]嵌入式AI系列教程

注:等我摸完鱼再把链接补上
可以关注我的B站号工具人呵呵的个人空间,后期会考虑出视频教程,务必催更,以防我变身鸽王。

第一章 昇腾Altas 200 DK上手
第二章 下载昇腾案例并运行
第三章 官方模型适配工具使用
第四章 炼丹炉的搭建(基于Ubuntu23.04 Desktop)
第五章 Ubuntu远程桌面配置
第六章 下载yolo源码及样例运行验证
第七章 转化为昇腾支持的om离线模型
第八章 jupyter lab的使用
第九章 yolov5在昇腾上推理
第十章 yolov5在昇腾上应用
未完待续…


文章目录

  • [嵌入式AI从0开始到入土]嵌入式AI系列教程
  • 前言
  • 一、下载安装
    • 1、下载Ascend AI Devkit Model Adapter
    • 2、下载安装Anaconda
    • 3、导入虚拟环境
    • 4、git安装
  • 二、启动
    • 1、制作数据集
    • 2、训练
    • 3、查看输出文件
  • 三、推理
    • 1、解压
    • 2、转换
    • 3、运行
  • 四、问题
    • 1、ERROR: model not exists
    • 2、打开提示没有安装git或者conda环境
  • 总结


前言

注:目前仅支持win平台,且需要32G及以上的内存,否则无法训练。本文用于快速上手,模型种类被官方限制了
模型适配工具(Ascend AI Devkit Model Adapter)是一款集成数据集管理、模型训练、模型打包为一体的开发者工具套件,预置了4个典型模型,分别用于目标检测场景(YOLO V5模型)、图像分类场景(Mobilenet V3模型)、图像分割场景(Unet ++模型)、关键点检测场景(Alphapose模型)。使用PC的CPU算力训练模型并对模型进行打包,拷贝到开发者套件进行推理。
[嵌入式AI从0开始到入土]3_官方模型适配工具使用_第1张图片
内存不满足要求的就散了吧。等后面几篇,用GPU去训练,反正我8G显存,8G内存炼个YOLO还是没问题的。

配置类型 推荐配置
系统类型 Windows 10、11
CPU 8 core CPU
内存RAM 32GB
磁盘 100G SSD存储

一、下载安装

1、下载Ascend AI Devkit Model Adapter

没什么可以说的,直接上下载链接。

2、下载安装Anaconda

我们使用Anaconda个人版就可以了,点击这里直接下载。如果有特定版本需求请自行百度下载。
安装的时候把Add Anaconda3 to my PATH environment variable这个选项选上,不然每次启动会比较麻烦,其他随意。

3、导入虚拟环境

点击这里下载。为了防止资源失效,我往CSDN搬运了一份,点这里跳转。
你可能需要一个解压软件(我的win11可以使用tar命令解压,360压缩也不错)。
接下来查询Anaconda安装位置。也就是base环境的位置。cmd输入命令

conda info -e

我的Anaconda在D盘。
[嵌入式AI从0开始到入土]3_官方模型适配工具使用_第2张图片
把你下载的model-adapter-tool.tar.gz放入Anaconda安装目录下的envs文件夹。右键,在终端中打开,执行以下命令解压到当前文件夹

tar -xf .\model-adapter-tool.tar.gz

解压完成后,再次运行conda info -e命令,查看回显路径除安装目录外是否和我一致。一致的话,运行conda activate model-adapter-tool激活虚拟环境。
[嵌入式AI从0开始到入土]3_官方模型适配工具使用_第3张图片
如果没有报错,就证明我们的环境安装没有问题。

4、git安装

直接运行就可以,似乎不需要配置git。

conda install git --channel https://mirrors.ustc.edu.cn/anaconda/pkgs/main/

二、启动

[嵌入式AI从0开始到入土]3_官方模型适配工具使用_第4张图片
这个黑色的窗口不要关,最小化就可以
接下来以目标检测为例,都一样。

1、制作数据集

看了下文档中的要求,4个场景的要求都是图片分辨率不高于1080P,单张图片不小于1MB,推荐每个类别的图片数量在100张左右,并放置在全英文路径下
首先我们添加待标注的图片。

[嵌入式AI从0开始到入土]3_官方模型适配工具使用_第5张图片
这里用2021年电赛送药小车的数字识别为例。
[嵌入式AI从0开始到入土]3_官方模型适配工具使用_第6张图片
这里可以使用“A”和“D”快捷键换图,第一次需要点击上方的”绘制矩形“,然后选择左上和右下两个点,就会跳出添加标签的页面。第一次输入标签后,之后同一标签直接确定就可以(似乎不能按enter)。
这就是标注完成的。
[嵌入式AI从0开始到入土]3_官方模型适配工具使用_第7张图片

2、训练

全部标注完成后,点击左下角的一键迁移
[嵌入式AI从0开始到入土]3_官方模型适配工具使用_第8张图片
大家参考我的路径,部分人可能卡在数据集路径报错(选择你刚才标注的图片所在的文件夹)
调整好参数后,点击一键迁移即可。这里有部分人会报错ERROR: model not exists.,看后面的问题。
进度会先卡在5%,然后你的cpu应该跑满了,占用率会有0,100这种起伏。等待就行。实测16G内存,直接撑不到6%就爆内存强制退出了,可能是我300张图(虽然是224*224的)有点多。这个在后面那个黑色的界面有打印报错信息。

3、查看输出文件

训练完成后会有如下提示
[嵌入式AI从0开始到入土]3_官方模型适配工具使用_第9张图片
[嵌入式AI从0开始到入土]3_官方模型适配工具使用_第10张图片
我们需要的是”infer_project.tar.gz“。将其上传至开发板就可以。建议建个空的,或者专用文件夹。

三、推理

这一小节因为我内存不足,没法训练出来,所以用的是文档里的图,可能会有点不一样,毕竟文档更新周期大家都知道

1、解压

到我们上传文件的目录运行以下指令

tar -zxvf infer_project.tar.gz#解压到当前目录
cd infer_project/ && dos2unix `find .` #将Windows格式文件转换为Unix、Linux格式

2、转换

进入解压出来的目录,转换模型。如果成功会有如下回显。

python3 onnx2om.py

[嵌入式AI从0开始到入土]3_官方模型适配工具使用_第11张图片

3、运行

执行命令,进行推理

python3 om_infer.py --model=output/yolov5s_bs1.om --eval --visible 

成功输出如下
[嵌入式AI从0开始到入土]3_官方模型适配工具使用_第12张图片
推理结果在output文件夹

四、问题

1、ERROR: model not exists

[嵌入式AI从0开始到入土]3_官方模型适配工具使用_第13张图片
在模型适配工具的安装目录下按照以下路径Ascend AI Devkit Model Adapter\src\models_adaption\classification\mobilenetv3\train_code查找是否有这个“weights”文件夹,没有的话新建一个就可以了。
[嵌入式AI从0开始到入土]3_官方模型适配工具使用_第14张图片

2、打开提示没有安装git或者conda环境

[嵌入式AI从0开始到入土]3_官方模型适配工具使用_第15张图片
运行conda info -e看下是不是和我上面第一节第三步里的路径一样。大概率是conda的问题。git只要按照上面说的安装就行了。

总结

截至目前,我们已经能够进行简单的训练,推理。接下来就是调用GPU进行训练(cpu实在太慢了)或者更换成我们自己的模型,然后转换成昇腾310支持的模型进行推理。后面才是头疼的东西。

你可能感兴趣的:(嵌入式ai从0到入土,人工智能,ai,华为)