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

什么是ModelArts

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

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

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

一个具备"图像分类"功能的AI模型。该模型是华为云ModelArts的"自动学习"功能所训练产生,基于4种花卉图案、每种10张图形的数据进行训练,模型训练完成后,一键进行部署,部署后即可立即在线推理,对花卉图像进行分类。

硬件要求

软件要求

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

  1. 注册华为云帐号
  2. 进行实名认证
  1. 免费领取AI新手资源包

服务配置

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

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

生成访问秘钥

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

  1. 通过华为云账号访问华为云控制台,点击控制台右上角用户账号信息,跳转到"用户中心"。

  1. 在"用户中心>基本信息"页面点击"管理我的凭证",跳转到"我的凭证"页面。

  1. 在"我的凭证"页面切换到"管理访问秘钥"页签,执行"新建访问密钥"操作,输入登陆密码和短信验证码后,密钥会自动生成并下载到本地,文件名为"credentials.csv"。

设置ModelArts全局配置

  1. 登陆ModelArts服务控制台,在"全局配置"中设置全局访问秘钥,具体操作步骤如下:
    登陆ModelArts服务页面,通过左侧导航栏进入到"全局配置"页面。

  1. 执行"添加访问秘钥"操作,输入"credentials.csv"文件中的"Access Key"和"Secret Access Key"信息,执行确定操作,完成全局秘钥的设置。

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

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

创建图像分类项目

  1. 创建一个OBS桶,本案例中将桶命名为ai-course-001,同时在创建的OBS桶下创建文件夹/automl/flowers。创建OBS桶和文件夹参考文档:https://support.huaweicloud.com/qs-obs/obs_qs_0001.html
  1. 进入ModelArts管理控制台界面。单击左侧导航栏的"自动学习",进入"自动学习"界面。

  1. 点击"图像分类"创建项目按钮,创建自动学习>图像分类项目,自定义项目名称(本例输入exeML-flowers),训练数据选择OBS路径/ai-course-001/automl/flowers/(flowers目录是一个空目录即可),点击"创建项目"完成图像分类项目创建。

下载数据集

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

图片标注

  1. 准备数据集
    找到本地下载好的数据集压缩包,然后解压。数据集文件夹名称是flowers_recognition,训练集位于flowers_recognition\train目录下,共4个花卉类别,每个类别10张图片。测试集位于flowers_recognition\test目录下。
    该数据集包含的花朵及其类别如下图所示:
  2. 添加图片
    页面会自动跳转到数据标注界面。点击下图中的"添加图片"按钮,添加本地的训练集。
  3. 标注图片,给图片打标签
    进入"未标注"页面。批量选中相同类别的图片,然后手动输入标签名称(中英文皆可),最后点击"确定"按钮:
    "全部标签"中列举了所有的标签,以及每个标签下的图片数量,见上图选择标签。
  4. 校验图片标签
    完成所有图片标注后,进入"已标注"页面。如果每个类不是10张图片,说明标注有误,可以在"已标注"页面修改标签。如果标注正确,可以跳过此步骤。
    点击图片右下角按钮,可以查看图片的标签,如下图所示:

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

模型训练

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

模型部署

  1. 在"模型训练"页面等待训练完成(不超过6分钟),训练完成后,可以查看模型的精度:
  2. 点击"部署"按钮,将模型部署为一个在线服务:

服务测试、推理预测

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

关闭服务,停止计费

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

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

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

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

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

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

已复制代码