本篇推文共计2000个字,阅读时间约3分钟。
华为云—华为公司倾力打造的云战略品牌,2011年成立,致力于为全球客户提供领先的公有云服务,包含弹性云服务器、云数据库、云安全等云计算服务,软件开发服务,面向企业的大数据和人工智能服务,以及场景化的解决方案。
华为云用在线的方式将华为30多年在ICT基础设施领域的技术积累和产品解决方案开放给客户,致力于提供稳定可靠、安全可信、可持续创新的云服务,做智能世界的“黑土地”,推进实现“用得起、用得好、用得放心”的普惠AI。华为云作为底座,为华为全栈全场景AI战略提供强大的算力平台和更易用的开发平台。
华为云官方网站
ModelArts是华为云产品中面向开发者的一站式AI开发平台,为机器学习与深度学习提供海量数据预处理及半自动化标注、大规模分布式Training、自动化模型生成,及端-边-云模型按需部署能力,帮助用户快速创建和部署模型,管理全周期AI工作流。
华为云官方网站
在Pycharm中调用ModelArts平台
训练和部署模型
本次实验将手把手演示如何在Pycharm中利用插件工具PyCharm ToolKit,协助用户完成代码上传、提交训练作业、部署模型等步骤,让用户可以在本地Pycharm中感受ModelArts平台魅力。
在Pycharm中调用ModelArts平台训练和部署模型
实验流程
1.在华为云的云端创建访问密钥
2.准备训练数据和代码并上传数据至OBS桶
3.本地Pycharm中创建训练工程并配置环境
4.开始在本地调用ModelArts平台训练模型
5.训练模型云端部署
6.在线测试训练模型
在Pycharm中调用ModelArts平台训练和部署模型
注意事项
1.当前仅支持PyCharm 2019.2及以上版本。
2.目前只支持Windows和Linux操作系统。
3.在本地PyCharm中已有训练代码工程。
4.训练作业使用的数据已上传至OBS,且OBS与ModelArts在同一区域。
确认你的上述配置信息无误后可进行操作步骤。
1
1.在华为云的云端创建访问密钥
首先需要进入华为云官方网站
https://www.huaweicloud.com/
点击页面的“控制台”切换至控制台界面,在账号名称的下拉菜单中点击“我的凭证”,进入创建管理访问密钥(AK/SK)的界面。位置如下图所示:
什么是访问密钥?
访问密钥即AK/SK(Access Key ID/Secret Access Key),是您通过开发工具(API、CLI、SDK)访问华为云时的身份凭证,不能登录控制台。系统通过AK识别访问用户的身份,通过SK进行签名验证,通过加密签名验证可以确保请求的机密性、完整性和请求者身份的正确性。
选择“访问密钥”,点击“新增访问密钥”
妥善保存系统自动下载的“credentials.csv”文件中的AK(Access Key Id)和SK(Secret Access Key)以备后续步骤使用。
2
2.1准备训练数据和代码
关于本次实验用到的所有数据和运行代码已整理至公众号端:
后台回复“训练”获取下载链接:
2.2创建OBS桶并登陆OBS Browser+
进入方式,“控制台”->“服务列表”->“存储”->“对象存储服务”,页面右上角点击“创建桶”按钮进入创建页面。
什么是OBS?
对象存储服务(Object Storage Service,OBS)是一个基于对象的海量存储服务,为客户提供海量、安全、高可靠、低成本的数据存储能力,包括:创建、修改、删除桶,上传、下载、删除对象等。
2.3 OBS桶设置
OBS桶设置参数如下:
区域:华北-北京四
桶名称:自定义(注意:此名称会在后续步骤使用)
根据自己的命名习惯,我将此处的桶名称取为
pycharm-test-model
存储类别:标准存储
桶策略:私有
归档数据直读:关闭
多AZ:开启
点击"立即创建",完成创建
2.4创建文件夹
点击刚刚创建的桶,进入详情页:
左侧栏选择“对象”,点击“新建文件夹”,在弹出的新建窗口中:
文件夹名称:自定义(此名称会在后续步骤中使用)
根据自己的命名习惯,我将此处的文件夹名称取为dog-cat-data
点击“确定”完成添加:
1.5服务授权
由于本实验项目需要使用数据管理功能,在开始使用前,需为数据管理模块获取访问OBS权限。
在ModelArts管理控制台,进入“数据管理->数据集”页面,单击“服务授权”
由具备授权的账号“同意授权”后,即可正常使用:
1.6下载安装并登录OBS Browser+
由于OBS Browser快下线了,所以本次实验关于对象存储服务操作中我们用到的新工具是OBS Browser的升级版OBS Browser+
OBS Browser+是一款用于访问和管理对象存储服务(Object Storage Service,OBS)的图形化工具,支持完善的桶管理和对象管理操作。OBS Browser+的图形化界面可以非常方便地让用户在本地对OBS进行管理,例如:创建桶、上传下载文件、浏览文件等。
该工具在华为云主页“开发者->资源工具->开发工具”处:
双击点进去后是下面的页面:
在开发工具的业务工具处,根据自己电脑配置下载OBS Browser+:
此为下载完成打开后的OBS Browser+工具界面:
填入步骤1.1下载得到的Access Key Id和Secret Access Key密钥
即可登录刚刚在华为云云端创建的OBS桶:
此时可以借助OBS Browser+从云端创建的OBS桶中上传和下载文件:
进入刚才创建的dog-cat-data文件夹中:
点击上传,选择“添加文件”,直接选择本地数据集压缩文件夹,不需要解压后再上传:
点击“确定”,开始进行上传数据:
利用OBS Browser+工具将数据上传至华为云云端的速度很快,在华为云云端很快就可以看见刚刚上传的本地电脑的数据集。
3
3.本地Pycharm中创建训练工程并配置环境
打开PyCharm工具,单击“File->Create Project”创建新工程:
在工程目录下创建“src”文件夹:
并将训练代码文件“dog_and_cat_train.py”拷贝到“src”文件夹下
在PyCharm工具栏中,选择“ModelArts->Edit Creden”:
输入步骤一得到的密钥,并且此时的区域必须和OBS区域保持一致,即“华北-北京四”
登陆后,选择“ModelArts->Edit Training Job Configuration”:
在弹出的对话框中,按照如下示例配置训练参数:
Job Name:训练作业的名字
自定义,此处我设置为MA-test-dog
Job Description:训练作业的简要描述
自定义,此处我设置的是:调用云端
AI Engine:TensorFlow,TF1.13.1-python3.6
此处需按此处配置,python代码版本请升级至3.6或以上
Specifications:训练使用资源类型。目前支持公共资源池的CPU和GPU,规格与ModelArts管理控制台中训练作业支持的规格一致。
此处可设置为:GPU: 1*p100 CPU: 8 核 64GiB,因为此配置在云端训练作业时是免费的。
Compute Nodes:计算资源节点个数。数量设置为1时,表示单机运行;数量设置大于1时,表示后台的计算模式为分布式。
OBS Path:设置OBS路径,该路径下会自动创建用于存放训练输出模型和训练日志的目录。
此处根据自己个人情况,我设置的OBS桶的路径:/pycharm-test-model/
Data Path in OBS:设置为存储训练数据的OBS路径
此处我根据自己个人情况,我设置的OBS桶的数据集路径:/pycharm-test-model/dog-cat-data/
Boot File Path:训练启动文件,所选启动文件必须是当前PyCharm训练工程中的文件。
此处应设置train文件的路径:D:\Pycharm\test5\src\dog_and_cat_train.py
Code Directory:训练代码目录,所选目录必须是当前PyCharm训练工程中的目录。
此处即设置为:D:\Pycharm\test5\src
Running Parameters:运行参数。如果您的代码需要添加一些运行参数,可以在此处添加,多个运行参数使用英文分号隔开, 例如"key1=value1;key2=value2"。此参数也可以不设置,即保持为空。
设置好了后,点击“Apply and Run”:
4
4.开始在本地调用ModelArts平台训练模型
点击“Apply and Run”后,即可在本地开始调用云端ModelArts平台训练模型:
当右面页面底下出现下面的指示语时,即说明模型训练成功:
没有出现上述指示语的话,就要结合以上步骤重新检测一下自己的步骤哪里有问题。
5
5.训练模型云端部署
当完成步骤4后,打开OBS Browser+,进入自动以本地创建的项目名称命名的路径下面的output文件夹下:
选择一个最高的版本文件夹进入后,在进入该版本文件夹的model文件夹中:
点击“上传”,选择代码文件“customize_service.py”和“config.json”上传文件:
上传后回到Pycharm界面,点击左下页面的“ModelArts Explorer”:
在跳出来的界面中,选择最高版本,点击右键:
按左键确认后,出现训练模型云端部署的页面:
此处可直接默认,点击“OK”:
等待模型服务部署结束时,即可说明模型在云端部署成功:
打开华为云ModelArts主页,在“部署上线”-> “在线服务”处即可看到刚才在部署好的模型,此时显示正在运行中:
6
在“部署上线”的“在线服务”处,点击运行中的在线服务右侧的“预测”
进入到测试界面,单击“上传”图片,进行检测:
用上面步骤,进行其它图片测试,运行界面如下:
利用步骤进行其它图片测试:
测试1
测试2
测试3
测试4
测试5
至此实验全部完成。
大家使用的云端资源记得全部删除如对象存储服务创建的OBS桶,文件夹;ModelArts创建的数据集,部署的模型等都需要删除,并停用访问密钥,以免造成不必要的花费。
[华为云ModelArts]带给我的记忆不止是人性化,智能化,普众化。更有很多吸引人的AI技术。
如您对本系列实验感兴趣,可点击下方推文链接,参加5月7日晚20—21点,由我们公众号团队成员主讲的的华为云AI创新开发者沙龙:
【红包+奖品福利】@所有人 | 看华为云直播,领五一节福利
与华为云技术专家和我们公众号技术成员们一起领略华为云AI魅力,让你轻松Get AI技能。更有大量现金红包和华为周边产品等待着您。
风里雨里,华为与我,七号等你!
华为,中国骄傲!中华有为!
往期回顾
【玩转华为云】教你安装本地调用ModelArts平台的Pycharm工具
【玩转华为云】决战黑客松——手把手教你实现Baseline赛题
【玩转华为云】Modelarts用零代码开发FasterRCNN物体检测
【玩转华为云】Modelarts基于FasterRCNN算法实现物体检测
【玩转华为云】Modelarts基于YOLOV3算法实现物体检测
【玩转华为云】Modelarts用海量数据训练猫狗分类模型
【玩转华为云】Modelarts实现猫狗小数据集的智能标注
【玩转华为云】ModelArts用海量数据训练美食分类模型
【玩转华为云】ModelArts零代码开发美食识别分类模型
【玩转华为云】ModelArts实现不同垃圾智能分类
【玩转华为云】ModelArts实现数据集的图片标注
【玩转华为云】ModelArts实现一键目标物体检测
【玩转华为云】ModelArts实现一键行人车辆检测
武汉加油,中国加油!
欢迎各位读者在下方进行提问留言
☆ END ☆
你与世界
只差一个
公众号
扫描上方二维码,获取千元“编程学习资料”大礼包