基于ModelArts实现行人检测模型训练和多场景部署
一、实验内容
本实验将指导用户使用华为ModelArts实现行人检测模型训练和部署,行人检测模型可以应用于自动驾驶场景,检测道路上行人的位置。
二、实验目标
-
熟悉ModelArts数据管理、训练作业、模型部署等基本操作
-
掌握利用YOLOv3_ResNet18算法实现行人检测的基本流程
-
了解ModelArts平台上一次训练、多场景部署的优势
三、实验操作步骤
1 实验准备
1.1 华为云服务介绍
(1)OBS服务
OBS即对象存储服务(Object Storage
Service),提供海量、安全、高可靠、低成本的数据存储能力,可供用户存储任意类型和大小的数据,适合企业备份/归档、视频点播、视频监控等多种数据存储场景。
(2)ModelArts服务
ModelArts是面向AI开发者的一站式开发平台,提供海量数据预处理及半自动化标注、大规模分布式训练、自动化模型生成,及端-边-云模型按需部署能力,帮助用户快速创建和部署模型,管理全周期AI工作流。
1.2 注册华为云账号
在使用华为云服务之前您需要注册华为云帐号。通过此帐号,只需为使用的服务付费,即可使用所有华为云服务。
注册华为云账号步骤请点击:《华为云注册介绍》
1.3 实名认证
注册成功后即可自动登录华为云,您需要完成“实名认证”才可以正常使用服务。
具体认证方式请参见点击:《实名认证介绍》
1.4 配置访问授权
在您使用自动学习、数据管理、Notebook、训练作业、模型和服务等功能过程中,ModelArts可能需要访问您的OBS、SWR、IEF等依赖服务,若没有授权,这些功能将不能正常使用。
完成授权配置(推荐使用委托授权)参考如下链接:
《授权介绍》
2.创建OBS桶和目录
2.1.访问OBS创建界面
进入方式,“控制台”->“服务列表”->“存储”->“对象存储服务OBS”,如下图所示。
页面右上角点击“创建桶”按钮进入创建页面。
2.2.创建OBS桶
参数如下:
区域:华北-北京四,
数据冗余存储策略:单AZ存储,
桶名称:自定义(注意:此名称会在后续步骤使用),
存储类别:标准存储,
桶策略:私有,
默认加密:关闭,
归档数据直读:关闭,
如下图所示:
点击"立即创建",弹窗点击“确定”,完成创建。
2.3.创建文件夹
点击刚创建的桶名称,进入详情页,左侧栏选择“对象”,点击“新建文件夹”,在弹出的新建窗口中:
文件夹名称:自定义(注意:此名称会在后续步骤中使用);
点击“确定”完成添加。
3.订阅数据集
此操作会从AI Gallery上下载行人检测数据集到自己创建的OBS桶,用以完成检测实验。
3.1进入AI Gallery下载数据集
点此链接进入数据集描述页面。
在描述页面右侧找到“下载”按钮并点击,在下载详情页面填写如下信息:
下载方式:ModelArts数据集
目标区域:华北-北京四
目标位置:点击右侧文件夹按钮,选择刚刚你在2.3步骤创建的obs桶和文件夹
名称:默认值
点击“确定”,等待下载完成。
可在AI Gallery页面中点击“个人中心”,点击“数据集”,点击“我的下载”里查看进度。
(注意:必须等到进度为“100%”方可进行下一步,可刷新页面查看最新进度)
下载完成页面:
3.2 发布数据集
回到ModelArts控制台页面,点击左侧栏“数据管理”下的“数据集”,找到刚刚下载的数据集,点击“发布”。
在弹出的窗口中,打开“数据切分”按钮,在训练集比例填“0.8”,点击确认。
等待发布成功。
4.创建训练作业
4.1.选择算法
点此链接进入YOLOv3_ResNet18算法描述页面,点击页面中的“订阅”按钮,进行该算法的订阅(已订阅的直接点击“前往控制台”进入)。
如下图所示:
在弹出的“使用约束”窗口中,点击“继续订阅”完成订阅,如下图所示:
点击上图标识的“前往控制台”按钮,在弹出的“选择云服务区域”,选择“华北-北京四”,如下图所示:
点击“确定”进入ModelArts“算法管理”页面,待算法同步完成后,点击“创建训练作业”,如下图所示:
4.2.创建训练作业
配置参数如下:
计费模式:按需计费,
名称:自定义,如trainjob-pedestrian-detection(注意:此名称后续步骤会使用到),
如下图:
算法来源:算法管理,
算法名称:默认,
训练输入:数据来源->数据集 ->选择步骤3.2发布的数据集,
训练输出:模型输出->选择步骤2.2创建的OBS桶->点击“新建文件夹”->输入自定义名称->选择新创建的文件夹。
调优参数:默认,
如下图:
作业日志路径:默认,
资源池:公共资源池,
规格:GPU: 1*NVIDIA-V100(32GB) |CPU: 8核 64GB,
计算节点个数:1,
保存作业参数:不勾选,
如下图:
点击“下一步”->“提交”->“返回训练作业列表”查看,等待大约11分钟左右状态变更为“运行成功”,如下图:
5.模型导入
5.1.导入PB模型
本案例的算法是使用Tensorflow框架训练得到的模型,格式是PB模型,该模型可以部署在CPU和GPU上运行。
在 “ModelArts”控制台页面,点击左侧栏“AI应用管理”->“AI应用”进入,点击“创建”开始导入模型。
配置参数:
名称:自定义,如model-pedestrian-detection,
版本:0.0.1,
元模型来源:从训练中选择,
选择训练作业:默认,
如下图所示:
部署类型:默认,
推理代码:默认,
最小推理规格:默认,
点击“立即创建”完成创建,截图如下:
点击模型列表项的展开按钮查看当前导入模型的状态,如下图所示:
(注:需待模型构建“状态”更新为“正常”后,方能进行下一步操作)
5.2 导入OM模型
如果要将模型部署在Ascned 310上运行,则需要将模型转换为OM模型。
5.2.1 模型转换
点此链接进入模型转换页面,点击“创建任务”,按照下图配置参数,具体参数如下:
-
输入框架:TensorFlow
-
转换输入目录:选择训练输出目录中的frozen_graph目录(如果输出目录下内容太多,要点“下一页”)
-
输出框架:MindSpore
-
转换输出目录:选择训练输出目录中的om/model目录(如果输出目录下内容太多,要点“下一页”)
-
转换模板:TF-FrozenGraph-To-Ascend-C32
-
输入张量形状:images:1,352,640,3
-
转换输出节点不用填写
-
输入数据格式:NHWC
-
剩余的参数均使用默认值
点击下一步,提交,大约需要3分钟左右,模型转换成功。
5.2.2 模型导入
仍然是在 “ModelArts”控制台页面,点击左侧栏“模型管理”->“模型”进入,点击“导入”开始导入模型,配置参数参考下图,和导入PB模型的区别主要有三点:
- 从模板中选择:ARM-Ascend模板
- 模型目录:选择训练输出目录中的om/model
- 输入输出模式:预置图像处理模式
模型名称改为 model-pedestrian-detection-om,其他配置和导入PB模型保持一样即可。
6.模型部署
6.1.进入部署界面
在 “ModelArts”服务控制台,点击左侧栏“部署上线”->“在线服务”,点击“部署”开始模型部署。
6.2.部署CPU模型
参数配置:
计费模式:按需计费,
名称:自定义,如service-pedestrian-detection,
是否自动停止:点击按钮取消,
资源池:公共资源池,
选择模型及配置:模型选择model-pedestrain-detection,计算节点规格 选择CPU:2核8GIB,
其他:默认,
点击“下一步”->“提交”,如下图所示:
点击“返回在线服务列表”查看列表,大约等待3-5分钟部署完成。完成状态如下图:
6.3.部署Ascend 310模型
操作步骤与6.2基本一致,主要区别在于选择模型和配置时,模型选择model-pedestrain-detection-om,计算节点规格 选择 Ascend: 1*Ascend-D310(8GB)|ARM: 3核6GB
7.发起检测
7.1.开始检测
点击右键保存下面这张测试图片,或点此链接下载:
再回到ModelArts在线服务列表,分别点击两个刚部署的在线服务,进入详情,选择“预测”标签下点击 “上传”,上传刚下载的图片,点击“预测”,等待检测完成。
预测成功效果如下图(由于数据集在发布的时候,训练集和验证集是随机分配的,所以你的模型检测效果可能跟下图不一样,这是正常现象。)
8、将模型发布至AI Gallery
8.1 进入模型发布页面
点击此处进入模型发布页面。(首次发布需按页面指导完成入驻ModelArts AI Gallery的操作)
8.2 自定义标题
不能以纯数字串、纯拼音、纯英文命名,可包含算法名称、领域、应用场景等信息,选择上述创建完成的模型,单击“发布”。
8.3 完善信息
编辑副标题、上传封面图、添加标签、描述及限制后,点击所有“保存”按钮后即发布成功。
至此,本实验完成。
- 点赞
- 收藏
- 关注作者
评论(0)