文档首页> AI开发平台ModelArts> 快速入门> 业务开发者:使用自动学习构建模型
更新时间:2023-09-19 GMT+08:00

业务开发者:使用自动学习构建模型

针对业务开发者,ModelArts提供了自动学习功能,无需关注模型开发、参数调整等开发细节,仅需三步(数据标注、自动训练、部署上线),即可完成一个AI开发项目。

本章节提供了一个“找云宝”样例(“云宝”是华为云的吉祥物),帮助您快速熟悉ModelArts自动学习的使用过程。此样例为“物体检测”类别项目,通过预置的云宝图像数据集,自动训练并生成检测模型,同时将生成的模型部署为在线服务。部署完成后,用户可通过在线服务识别输入图片是否包含云宝。

开始使用样例前,请仔细阅读准备工作罗列的要求,提前完成准备工作。使用自动学习功能完成模型构建的步骤如下所示:

准备工作

  • 已注册华为云帐号,且在使用ModelArts前检查帐号状态,帐号不能处于欠费或冻结状态。
  • 当前帐号已完成访问授权的配置。如未完成,请参考使用委托授权针对之前使用访问密钥授权的用户,建议清空授权,然后使用委托进行授权。
  • 创建OBS桶和文件夹的操作指导请参见创建桶新建文件夹。为保证数据能正常访问,请务必保证创建的OBS桶与ModelArts在同一区域。
  • 由于创建自动学习项目需要使用数据管理功能,在开始使用前,需为数据管理模块获取访问OBS权限。

    在ModelArts管理控制台,进入“数据管理 > 数据集”页面,单击“服务授权”,由具备授权的帐号“同意授权”后,即可正常使用。如果使用“帐号”登录,可直接在弹出对话框中同意授权。如果使用“IAM用户”(即子帐号)登录,需主帐号或具备Admin权限的用户进行授权操作。

步骤1:准备数据

ModelArts在公共OBS桶中提供了云宝的示例数据集,命名为“Yunbao-Data-Custom”,因此,本文的操作示例使用此数据集进行模型构建。您需要执行如下操作,将数据集上传至您的OBS目录下,即准备工作中您创建的OBS目录“test-modelarts/dataset-yunbao”。此处的OBS桶名称“test-modelarts”仅为举例,用户需要自定义一个OBS桶名称。

如果您想使用自己的数据集,可跳过此步骤,直接将数据上传至OBS文件夹中,并在步骤2:创建物体检测项目操作中直接选择此目录即可。

  1. 单击数据集下载链接,将“Yunbao-Data-Custom”数据集下载至本地。
  2. 在本地,将“Yunbao-Data-Custom.zip”压缩包解压。例如,解压至本地“Yunbao-Data-Custom”文件夹下。
  3. 参考上传文件,使用批量上传方式将“Yunbao-Data-Custom”文件夹下的所有文件上传至“test-modelarts/dataset-yunbao”OBS路径下。

    获取的数据集分为2个子目录,分别为“eval”“train”“train”存储的数据用于模型训练,“eval”存储的数据可用于模型的预测。

步骤2:创建物体检测项目

  1. 在ModelArts管理控制台,单击左侧导航栏“自动学习”
  2. “物体检测”方框中单击“创建项目”,在“创建物体检测项目”页面中,填写“名称”“数据集名称”选择“数据集输入位置”,云宝数据集OBS路径为“/test-modelarts/dataset-yunbao/train/”“数据集输出位置”选择一个空目录。

    云宝数据集有“eval”“train”两个目录,请选择“train”目录下的数据进行训练,如果选择“train”的上层目录,会提示“OBS存在非法数据的错误”,导致无法创建项目。

    图1 创建物体检测项目
  3. 单击“创建项目”,完成物体检测项目创建。项目创建成功后,页面自动跳转至“自动学习 > 数据标注”页面,并自动执行数据源同步操作。

步骤3:数据标注

数据标注,针对物体检测项目,即在已有数据集图像中,标注出物体位置,并为其打上标签。标注好的数据用于模型训练。云宝数据集中,已标注部分数据,还有部分数据未标注,您可以选择未标注数据进行试用。

自动学习项目创建时,会自动执行数据源同步操作。由于数据源同步需要一定时间,如果出现同步失败,可单击“同步数据源”手动执行。

  1. “自动学习 > 数据标注”页面单击“未标注”页签,此页面展示所有未标注的图片数据。单击任意一张图片,进入图片标注界面。
  2. 用鼠标框选图片中的云宝所在区域,然后在弹出的对话框中输入标签名称,例如此示例中的“yunbao”,按“Enter”键完成此图片的添加。标注完成后,左侧图片目录中此图片的状态将显示为“已标注”
    您可以在下方图片目录中,选择其他图片,重复上述操作继续进行图片标注。如果一张图片有多个云宝,您可以标注多处。建议将数据集中所有图片都标注完成,这样能得到一个效果比较好的模型。
    图2 物体检测图片标注
  3. 当图片目录中所有图片都完成标注后,单击左上角“项目名称”,在弹出的对话框中单击“确定”保存标注信息,页面进入数据标注页面。您可以在“已标注”页签下查看已完成标注的图片,并通过右侧的标签信息,了解当前已完成的标签名称和标签数量。

步骤4:自动训练,生成模型

  1. 完成数据标注后,在“数据标注”页面,单击右上角的“开始训练”,然后在弹出的“训练设置”对话框中配置相关参数,参考图3填写相关参数。
    图3 设置训练参数
  2. 单击“下一步”进入配置页,确认规格后单击“提交”开始模型的自动训练。训练时间相对较长,建议您耐心等待。如果关闭或退出此页面,系统仍然在执行训练操作。
    训练完成后,您可以在界面中查看训练详情,如“准确率”“评估结果”“训练参数”“分类统计表”等。
    图4 开始模型训练

步骤5:将模型部署上线为在线服务

  1. “模型训练”页签中,待训练状态变为“已完成”,单击“版本管理”区域中的“部署”
    图5 开始部署上线
  2. 在弹出的部署设置对话框中,选择“计算节点规格”,设置“自动停止”功能,单击“确定”开始将物体检测模型部署上线为在线服务。

    如果选择免费规格,则不需要设置“自动停止”功能,1小时之后自动停止。

    图6 部署设置
  3. 启动部署上线后,系统自动跳转至部署上线页面。此页面将呈现模型部署上线的进度和状态。
    部署上线将耗费较多时间,请您耐心等待。部署完成后,版本管理区域的状态将变更为“运行中”
    图7 部署成功

步骤6:测试服务

模型部署完成后,您可添加图片进行测试。

  1. “部署上线”界面,选择状态为“运行中”的服务版本,在“服务测试”区域单击“上传”
    图8 上传图片
  2. 从本地环境选择一张图片,此图片中包含云宝。然后单击“预测”进行测试。

    预测完成后,右侧“预测结果”区域输出标签名称“yunbao”,以及位置坐标和检测的评分。预测结果中,“detection_boxes”表示物体所在位置坐标,“detection_scores”表示检测评分,表示坐标内图像是云宝的概览评分。

    如模型准确率不满足预期,可在“数据标注”步骤中添加图片并进行标注,重新进行模型训练及部署上线

    由于“运行中”的在线服务将持续耗费资源,如果不需再使用此在线服务,建议在版本管理区域,单击“停止”,即可停止在线服务的部署,避免产生不必要的费用。如果需要继续使用此云宝检测的服务,可单击“启用”恢复。

    图9 测试结果