本篇Codelab将实现的内容

本实验是利用ModelArts的"自动学习"功能,让零AI基础的开发者完成"图像分类"的AI模型的训练和部署。

什么是ModelArts

ModelArts是面向开发者的一站式AI开发平台,为机器学习与深度学习提供海量数据预处理及半自动化标注、大规模分布式Training、自动化模型生成,及端-边-云模型按需部署能力,帮助用户快速创建和部署模型,管理全周期AI工作流。

"一站式"是指AI开发的各个环节,包括数据处理、算法开发、模型训练、部署都可以在ModelArts上完成。ModelArts底层支持各种异构计算资源,开发者可以根据需要灵活选择使用,而不需要关心底层的技术。

本实验是利用ModelArts的"自动学习"功能,让零AI基础的业务开发者可快速完成模型的训练和部署。依据开发者提供的标注数据及选择的场景,无需任何代码开发,自动生成满足用户精度要求的模型。可支持图片分类、物体检测、预测分析、声音分类、文本分类等场景。可根据最终部署环境和开发者需求的推理速度,自动调优并生成满足要求的模型。

您将会学到什么

硬件要求

软件要求

需要的知识点

注册华为云账号、实名认证

  1. 注册华为云帐号
  2. 进行实名认证
  3. 个人用户推荐使用人脸识别认证

    点击页面中间置顶的"去认证"按钮

    点击"个人账号"

    优选"扫码认证"

    若无中国大陆身份证,仅可使用其他证件认证,并需等待三个工作日审核

  4. 扫描二维码添加小助手,回复"HDC"领取活动算力礼包

服务配置

第一次使用ModelArts服务时,需先给服务添加访问密钥,授权作业能够访问华为云对象存储OBS,若没有添加访问秘钥,则无法创建作业。具体操作步骤如下:

  1. 生成访问秘钥:在用户"基本信息">"管理我的凭证"页面 >"访问秘钥"> "新增访问秘钥",创建后秘钥会下载到本地。
  2. 设置ModelArts全局配置:在ModelArts服务页面,添加访问秘钥,以授权访问OBS,使用ModelArts各项功能。

生成访问秘钥

登录华为云控制台访问账号中心,用户新增访问秘钥并下载到本地保存,操作步骤如下:

  1. 通过华为云账号访问华为云控制台,点击控制台右上角用户账号信息,跳转到"用户中心"。
  2. 在"用户中心>基本信息"页面点击"管理我的凭证",跳转到"我的凭证"页面。
  3. 在"我的凭证"页面切换到"管理访问秘钥"页签,执行"新建访问密钥"操作,输入登录密码和短信验证码后,密钥会自动生成并下载到本地,文件名为"credentials.csv"。

设置ModelArts全局配置

  1. 登录ModelArts服务控制台,点击左侧"全局配置"按钮进入"全局配置"页面。
  2. 执行"添加访问秘钥"操作,输入"credentials.csv"文件中的"Access Key"和"Secret Access Key"信息,执行确定操作,完成全局秘钥的设置。
  3. AK/SK:

  4. 现在,您拥有了完成本教程所需的开发环境。

本例是以花卉图像作为案例。您也可以自行使用任何图像数据来训练对应的图像分类模型(每种图像最少5张)。

下载数据集

点击此处下载数据集压缩包至本地。

图片标注

  1. 准备数据集
    找到本地下载好的数据集压缩包,然后解压。数据集文件夹名称是flowers_recognition,训练集位于flowers_recognition\train目录下,共4个花卉类别,每个类别10张图片。测试集位于flowers_recognition\test目录下。
    该数据集包含的花朵及其类别如下图所示:

创建图像分类项目

  1. 创建一个OBS桶,本案例中将桶命名为ai-course-xxx(请注意按照自己的命名习惯命名,以确保桶名全局唯一),同时在创建的OBS桶下创建文件夹/flowers和/flowers-label文件夹。创建OBS桶和文件夹参考文档:https://support.huaweicloud.com/qs-obs/obs_qs_0001.html
  2. 进入ModelArts管理控制台界面。单击左侧导航栏的"自动学习",进入"自动学习"界面。
  3. 点击"图像分类"的"创建项目"按钮,创建图像分类项目,自定义项目名称(本例输入exeML-flowers),数据集名称,数据集输入位置选定步骤1中创建的ai-course-xxx/flowers目录,数据集输出位置选定步骤1中创建的ai-course-xxx/flowers-label目录。点击"创建项目"完成图像分类项目创建。
  4. 添加图片
    页面会自动跳转到数据标注界面。点击下图中的"添加图片"按钮,添加本地压缩包解压出来的train文件夹下的图片。
  5. 标注图片,给图片打标签
    进入"未标注"页面。批量选中相同类别的图片,然后手动输入标签名称(中英文皆可),最后点击"确定"按钮:
    "全部标签"中列举了所有的标签,以及每个标签下的图片数量。
  6. 校验图片标签
    完成所有图片标注后,进入"已标注"页面。如果每个类不是10张图片,说明标注有误,可以在"已标注"页面修改标签。如果标注正确,可以跳过此步骤。
    点击图片右下角按钮,可以查看图片的标签,如下图所示:

如果发现标签不正确,可以选中图片,重新选择标签。

模型训练

在"数据标注"界面中,点击"开始训练"按钮,设置最大训练时长为0.1(减小训练时长的同时,可能会降低模型精度),然后点击"确定"按钮,即可开始训练。

模型部署

  1. 在"模型训练"页面等待训练完成(不超过6分钟),训练完成后,可以查看模型的精度:
  2. 点击上图中的"部署"按钮,计算节点规格选定为"增强计算型2实例-自动学习(GPU)",打开"是否自动停止",点击"确定"按钮将模型部署为一个在线服务:

服务测试、推理预测

  1. 在"部署上线"页面,等待服务部署成功。部署成功后,点击"上传"按钮,上传一张本地的测试图片(压缩包解压得到的test文件夹中的图片)。
  2. 点击"预测"按钮进行预测:
  3. 即可看到预测结果:
  4. 右下角的"URL接口",即是一个Restful API,可使用Postman让您的App进行调用推理。

关闭服务,停止计费

在"部署上线"页面,点击"停止"按钮,停止在线服务:

干得好,你已经成功完成了Codelab,构建了您的第一个AI模型!并学会了:如何基于华为云ModelArts "自动学习"0代码建立图像分类模型。

您后续还可以尝试不同的自动学习场景,例如"物体检测"、"声音分类"、"数据预测"等。

如果您是有AI基础的开发者,可以使用ModelArts的预设算法进行算法开发和模型训练,也可以使用Jupyter Notebook以Python进行AI模型开发。

您还可以加入《华为云AI实战营》并查看更多案例,以了解更多的ModelArts的能力:

《2020华为云AI实战营》系列活动是基于业界领先的AI开发平台ModelArts设计,包括图像、NLP、人脸、视频等领域的系统化实战计划,助力开发者掌握人工智能实战技能,掌握全流程AI模型开发及应用实战,成为专业的AI开发者。

已复制代码