玩转华为云,ModelArts深度学习建模最全搭建手册
- 前言
- 准备工作
-
- 1.创建华为云账号
- 2.创建访问密钥
- 3.创建数据集OBS桶
- 4.上传数据集至OBS
-
- 4.1、小数据集
- 4.2、大数据集
- 一、使用ModelArts内置模型训练测试
-
- 1.物体检测
- 2.分类问题
- 二、使用华为云接口做在线模型测试
-
- 1.使用图形界面的软件进行预测(以Postman为例)
- 2.使用curl命令发送预测请求
- 三、在ModelArts上使用自己的代码和数据集训练学习
- 参考资料
前言
ModelArts结合了在线学习方式,打通运行态和开发态,让模型随着数据的增长和变化,也可以在线持续学习和进化,真正提供企业级的可进化的AI。2.0版本新增了智能数据筛选、智能数据标注、智能数据分析、多元模型自动搜索、ModelArts SDK、图神经网络、强化学习、模型评估/诊断、模型压缩/转换、自动难例发现、在线学习等众多强大功能。
本篇文章将从以下三个方面教你玩转华为云:
1、如何调用ModelArts内置模型进行学习训练
2、如何通过华为云接口做在线模型测试
3、如何在ModelArts上使用自己的代码和数据集训练学习
准备工作
1.创建华为云账号
2.创建访问密钥
1、首先进入华为云官方网站 https://www.huaweicloud.com/.
2、点击右上角控制台,进入控制台主界面,在账号中心点进我的凭证
3、进入创建管理访问密钥(AK/SK)的界面,新增密匙,成功创建后系统自动下载“credentials.csv”文件,保存文件中的AK(Access Key Id)和SK(Secret Access Key)
3.创建数据集OBS桶
什么是OBS?
对象存储服务(OBS)是一个基于对象的海量存储服务,可以创建、修改、删除桶,上传、下载、删除对象等。简单来讲,桶就是用来存放你数据集的(训练集和测试集)
1、在服务列表中搜索OBS,进入OBS主界面,点击创建桶。
2、按照如图所示的配置创建桶,名称自定义。
3、创建结束后,主界面应该能够看到
4、点击刚创建的桶名称,进入详情页,左侧栏选择“对象”,点击“新建文件夹”,文件夹名称自己定义就好,点击确定,完成创建。
4.上传数据集至OBS
近期受 COVID-19(新型冠状病毒肺炎)疫情影响,学术界、工业界陆续用AI技术帮助人类解决问题,并取得重大突破。其中关于口罩遮挡人脸识别、检测以及CT图像分析更是热门的研究方向。因此,下面准备了人脸佩戴口罩的图像进行物体检测为例
口罩数据集地址: 点击这里下载数据集
提取码:p34m
4.1、小数据集
1、点击刚创建的桶名称,进入详情页,左侧栏选择“对象”,点击刚刚创建的文件夹,在文件夹中选择“上传对象”
2、按照配置上传,成功后,可以在文件夹中查看。
4.2、大数据集
1、进入OBS主界面,下载OBS Browser+
OBS Browser+是一款用于访问和管理对象存储服务(Object Storage Service,OBS)的图形化工具,支持完善的桶管理和对象管理操作。OBS Browser+的图形化界面可以非常方便地让用户在本地对OBS进行管理,例如:创建桶、上传下载文件、浏览文件等。通过OBS Browser+可以快速将大数据导入桶中。
2、填入前面步骤下载得到的Access Key Id和Secret Access Key密钥,即可登录刚刚在华为云云端创建的OBS桶
3、借助OBS Browser+从云端创建的OBS桶中上传和下载文件
一、使用ModelArts内置模型训练测试
1.物体检测
1、在控制台中选择“服务列表->EI企业智能->ModelArts”,
进入ModelArts管理控制台主页,单击左侧导航栏“自动学习”,添加保存的访问密钥文件中的密钥(AK/SK)
2、填写完信息后,认真比对一遍自己信息,是否有错误,无错之后点击“创建项目”即可创建物体检测项目
3、数据标注
如果此时未标注中没有显示数据,点击图中“同步数据源”即可导入OBS桶中数据文件。对于未数据标注,用户需要选择未标注数据进行手动标注
4、点击右上角的“开始训练”,选择适合自己的计算规格,等待一段时间,训练结束,可以看到评估指标
5、点击部署,在弹出的部署设置对话框中,选择“计算节点规格”,设置“自动停止”功能,单击“确定”开始将物体检测模型部署上线为在线服务。如果选择免费规格,则不需要设置“自动停止”功能,1小时之后自动停止。
2.分类问题
1、在控制台中选择“服务列表->EI企业智能->ModelArts”,
进入ModelArts管理控制台主页,单击左侧导航栏“自动学习”,添加保存的访问密钥文件中的密钥(AK/SK)
2、填写完信息后,认真比对一遍自己信息,是否有错误,无错之后点击“创建项目”即可创建物体图像分类
3、数据标注
二、使用华为云接口做在线模型测试
1.使用图形界面的软件进行预测(以Postman为例)
1、下载Postman软件并安装注册,您也可以直接在Chrome浏览器添加Postman扩展程序(也可使用其它支持发送post请求的软件)。
2、获取动态token
结合表格,以自己ModelArts平台部署区域为华北-北京四举例:
我的Request URL为:
https://iam.cn-north-4.myhuaweicloud.com/v3/auth/tokens
如果是华北-北京一
Request URL为:
https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokens
打开Postman软件,点击图中“+”号:
下图中所示,选择“POST”后:
将刚才得到的Request URL粘贴至Postman中:
粘贴后,点击“Body”,选择“raw”,输入下面的模板代码:
{
"auth": {
"identity": {
"methods": ["password"],
"password": {
"user": {
"name": "华为云账号",
"password": "华为云密码",
"domain": {
"name": "华为云账号"
}
}
}
},
"scope": {
"project": {
"name": "服务所在区域"
}
}
}
}
其中华为云账号和华为云密码填写自己华为云的账号密码,服务所在区域结合下表填写,如华北-北京四,就填cn-north-4
除了华为云账号,华为云密码,服务所在区域改为自己的信息,其它都不用修改。单击“Send”,发送API请求,得到下面的页面:
点击页面中的“Headers”:
对应右侧的数值就是用户Token值(为方便复制粘贴用户Token值,可保留此页面):
3、调用接口预测
Headers处新建:Key:X-Auth-Token
Value:第2步中记录的用户token值
选择“form-data”。在“KEY”值填写模型的入参,比如本例中预测图片的参数为“images”。然后在“VALUE”值,选择文件,上传一张待预测图片(当前仅支持单张图片预测)
数填写完成,点击“send”发送请求,结果会在“Response”下的对话框里显示。文件输入形式的预测结果样例如图所示,返回结果的字段值根据不同模型可能有所不同。
2.使用curl命令发送预测请求
curl -F 'images=@图片路径' -H 'X-Auth-Token:Token值' -X POST 在线服务地址
1、“-F”是指上传数据的是文件,本例中参数名为“images”,这个名字可以根据具体情况变化,@后面是图片的存储路径。
2、“-H”是post命令的headers,Headers的Key值为“X-Auth-Token”,这个名字为固定的, Token值是用户获取到的token值(关于如何获取token,上文)。
3、“POST”后面跟随的是在线服务的调用地址。
curl命令文件输入样例:
curl -F 'images=@/home/data/test.png' -H 'X-Auth-Token:MIISkAY***80T9wHQ==' -X POST https://modelarts-infers-1.cn-north-1.myhuaweicloud.com/v1/infers/eb3e0c54-3dfa-4750-af0c-95c45e5d3e83
三、在ModelArts上使用自己的代码和数据集训练学习
1、进入ModelArts,在开发环境选择Notebook,选择创建。
2、按图配置,确认无误后选择提交
3、点击名称进入编译界面,一般选择conda-python3,当然你也可以选择自己的配置
4、将自己的代码复制上去运行就好了
参考资料
Modelarts使用: 手把手教你用Modelarts.
接口调用: 访问在线服务.
获取IAM用户Token: 获取Token.