前言
华为modelarts训练,能够面向三类用户提供解决AI开发支持。对于无AI基础的业务开发员,可以使用自动学习模型。全程无需写代码,一键启动训练&部署。对于AI初学者,使用预置的算法,少量的代码即可调用。对于AI深度完结,可以使用modlearts内置的notebook,自研的MoXingSDK,简化代码。
ModelArts自动学习是帮助人们实现AI应用的低门槛、高灵活、零代码的定制化模型开发工具。自动学习功能根据标注数据自动设计模型、自动调参、自动训练、自动压缩和部署模型。开发者无需专业的开发基础和编码能力,只需上传数据,通过自动学习界面引导和简单操作即可完成模型训练和部署。
当前自动学习支持快速创建图像分类、物体检测、预测分析、声音分类和文本分类模型的定制化开发。可广泛应用在工业、零售安防等领域。
图像分类:识别图片中物体的类别。
物体检测:识别出图片中每个物体的位置和类别。
预测分析:对结构化数据做出分类或数值预测。
声音分类:对环境中不同声音进行分类识别。
文本分类:识别一段文本的类别。
一 数据准备
本次实验主要用于检测某个物品,出现在图片的位置,根据这个案例。可以检测某个特定的物品是否存在图片中,如果存在,那么在图片的位置可以标记出来。
数据下载参考链接 数据下载提取码:xj8m
把数据下载obs中
以下是官方自动学习帮助文档
自动学习官方帮助手册
二 创建项目
1 登陆华为modelarts,找到自动学习,点击物体检测
参数书名详见 https://support.huaweicloud.com/exemlug-modelarts/modelarts_21_0010.html
2.选择创建项目
填写名称,数据输入的位置,和数据输出的位置。这里我们从obs中读取数据。
三 数据标注
自动学习项目创建完成后会自动跳转到数据标注界面,点击“添加”,即可批量添加图片(注意,单次上传图片不能超过8M)。数据集的路径是“ModelArts实验数据集和源码/自动学习/云宝检测应用/训练数据集”。该数据集是华为吉祥物“云宝”的图片。若OBS中已上传图片,点击“同步数据源”按钮,进行数据同步。如下图所示。
注意:
1.用于训练的图片,每种类别的图片数不少于5张,即每个标签图片数量不少于5张。
2. 图片标注支持多标签,即一张图片可添加多个标签。
步骤 2 图片标注
选择未标注的图片。单击“未标注”页签,然后点击任意一张图片进入标注页面,如图1-3所示。进入标注页面后,用矩形框将目标物体框起来,注意尽量不要包含过多的背景信息,然后选择类别标签(如果没有标签类别,可以输入标签名称并按Enter键添加新的标签类别)。在此案例中,我们使用使用鼠标画矩形框将云宝框住即可,标签名称使用云宝的拼音:“yunbao”,如下图所示。
数据格式说明
其中每张图片的标签,是和图片相同的名称,除了指定标签名称之外,还需要指定标签所在的位置。顶点的坐标以及长和宽。
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<annotation>
<folder>Images</folder>
<filename>IMG_20180919_114711.jpg</filename>
<source>
<database>Unknown</database>
</source>
<size>
<width>1024</width>
<height>768</height>
<depth>1</depth>
</size>
<segmented>0</segmented>
<object>
<name>yunbao</name>
<pose>Unspecified</pose>
<truncated>0</truncated>
<difficult>0</difficult>
<bndbox>
<xmin>339.00</xmin>
<ymin>27.00</ymin>
<xmax>853.00</xmax>
<ymax>670.00</ymax>
</bndbox>
</object>
</annotation>
步骤3:标签修改(单张图片)
删除或修改单个图片标签。单击区域1中的“已标注”,然后在区域2单击浮于图片上方的“图片标注”进入标记界面。
方式一:将鼠标移至矩形框的里面,右击鼠标,弹出标签修改的界面,点击“删除”会删除标注框,点击 “修改”可以修改标签类别。
方式二:在标注图片的右边有修改和删除的按钮,可以直接进行操作
步骤4:标签修改(批量)
批量删除或修改图片标签。单击区域1中的“已标注”,然后单击下方需要批量修改或删除的标签名称,单击标签右侧 ,在弹出的对话框中可重命名标签名称。或者单击标签右侧 ,在弹出对话框中,可选择“删除标签”或“删除标签及仅包含此标签的图片”。如下图所示。
四 模型训练
完成图片标注后,可进行模型的训练。开始训练之前,需要设置训练参数,然后再发布训练,即开始模型的自动训练。由于用于训练的图片,每种标签的图片数不少于5张。因此在发布训练之前,请确保已标注的图片符合要求,否则“开始训练”会处于灰色状态。
步骤 1 参数设置
参数可使用默认值,或者修改训练时长,以及打开高级设值,设置推理时间。训练设置如图所示。
参数说明:
训练时长不大于:最大训练时长,在该时长内若训练还未完成,则强制退出。为防止训练中退出,建议使用较大值。
推理时间小于:模型推理单张图片所需时间(ms),与模型复杂度成正比。一般情况下,推理时间越短,选取模型越简单,训练速度越快,但可能会影响精度值。
推理环境:使用默认值“2核 |8GiB |1*P4”
步骤 2 模型训练
参数填写完成后点击“开始训练”,模型开始训练。训练结束后,可在物体检测“模型训练”界面查看模型训练结果。
五 部署上线
步骤1:部署上线
完成模型训练后,可选择准确率理想且训练状态为“已完成”的版本部署上线。单击“模型训练”界面版本管理中的“部署”,即可完成模型的部署操作。部署完成后,您也可以在“部署上线>在线服务”查看部署的服务。部署服务如图所示。
步骤 2 服务测试
模型部署完成后,您可添加图片进行测试。在“部署上线”界面,单击图片选择按钮,然后选择测试图片,测试图片是路径“ModelArts实验数据集和源码/自动学习/云宝检测应用/测试数据/”下的图片。图片上传成功后,单击“测试”即可进行服务的测试,右侧会显示测试结果,如下图所示。其中数据标注yunbao标签,测试的结果会将云宝用矩形框框起来,并且在右边显示相关的概率值和坐标值。