【华为云-上云之路】手把手教你在Pycharm中调用ModelArts平台训练和部署模型

举报
看那个码农 发表于 2020/06/06 15:48:40 2020/06/06
【摘要】 手把手教你在Pycharm中调用ModelArts平台训练和部署模型

华为云华为公司倾力打造的云战略品牌,2011年成立,致力于为全球客户提供领先的公有云服务,包含弹性云服务器、云数据库、云安全等云计算服务,软件开发服务,面向企业的大数据和人工智能服务,以及场景化的解决方案。


image.png


华为云用在线的方式将华为30多年在ICT基础设施领域的技术积累和产品解决方案开放给客户,致力于提供稳定可靠、安全可信、可持续创新的云服务,做智能世界的“黑土地”,推进实现“用得起、用得好、用得放心”的普惠AI。华为云作为底座,为华为全栈全场景AI战略提供强大的算力平台和更易用的开发平台。

image.png

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

image.png

华为云官方网站




在Pycharm中调用ModelArts平台训练和部署模型

本次实验将手把手演示如何在Pycharm中利用插件工具PyCharm ToolKit,协助用户完成代码上传、提交训练作业、部署模型等步骤,让用户可以在本地Pycharm中感受ModelArts平台魅力。


image.png


在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.cn/

image.png



点击页面的“控制台”切换至控制台界面,在账号名称的下拉菜单中点击“我的凭证”,进入创建管理访问密钥(AK/SK)的界面。位置如下图所示:


image.png


什么是访问密钥?访问密钥即AK/SK(Access Key ID/Secret Access Key),是您通过开发工具(API、CLI、SDK)访问华为云时的身份凭证,不能登录控制台。系统通过AK识别访问用户的身份,通过SK进行签名验证,通过加密签名验证可以确保请求的机密性、完整性和请求者身份的正确性。


选择访问密钥”,点击“新增访问密钥

image.png


妥善保存系统自动下载的“credentials.csv”文件中的AK(Access Key Id)SK(Secret Access Key)以备后续步骤使用。image.png





2


2.1准备训练数据和代码


关于本次实验用到的所有数据和运行代码已整理至公众号端:image.png



后台回复“训练”获取下载链接:

image.png


2.2创建OBS桶并登陆OBS Browser+
进入方式,“控制台”->“服务列表”->“存储”->“对象存储服务”,页面右上角点击“创建桶”按钮进入创建页面。

image.png


什么是OBS?对象存储服务(Object Storage Service,OBS)是一个基于对象的海量存储服务,为客户提供海量、安全、高可靠、低成本的数据存储能力,包括:创建、修改、删除桶,上传、下载、删除对象等。
2.3 OBS桶设置
OBS桶设置参数如下:区域:华北-北京四桶名称:自定义(注意:此名称会在后续步骤使用)根据自己的命名习惯,我将此处的桶名称取为pycharm-test-model存储类别:标准存储桶策略:私有归档数据直读:关闭多AZ:开启 点击"立即创建",完成创建


image.png


2.4创建文件夹


点击刚刚创建的桶,进入详情页:

image.png


左侧栏选择“对象”,点击“新建文件夹”,在弹出的新建窗口中:
文件夹名称:自定义此名称会在后续步骤中使用)根据自己的命名习惯,我将此处的文件夹名称取为dog-cat-data

 

点击“确定”完成添加:


image.png


1.5服务授权
由于本实验项目需要使用数据管理功能,在开始使用前,需为数据管理模块获取访问OBS权限。

在ModelArts管理控制台,进入“数据管理->数据集”页面,单击“服务授权


image.png


由具备授权的账号同意授权后,即可正常使用:


image.png


1.6下载安装并登录OBS Browser+


由于OBS Browser快下线了,所以本次实验关于对象存储服务操作中我们用到的新工具OBS Browser的升级版OBS Browser+


OBS Browser+是一款用于访问和管理对象存储服务(Object Storage Service,OBS)的图形化工具,支持完善的桶管理和对象管理操作。OBS Browser+的图形化界面可以非常方便地让用户在本地对OBS进行管理,例如:创建桶、上传下载文件、浏览文件等。


该工具在华为云主页“开发者->资源工具->开发工具”处:


image.png


双击点进去后是下面的页面:


image.png


在开发工具的业务工具处,根据自己电脑配置下载OBS Browser+:


image.png


此为下载完成打开后的OBS Browser+工具界面:


image.png


填入步骤1.1下载得到的Access Key IdSecret Access Key密钥

即可登录刚刚在华为云云端创建的OBS桶:



image.png


此时可以借助OBS Browser+从云端创建的OBS桶中上传和下载文件:


image.png


进入刚才创建的dog-cat-data文件夹中:


image.png


点击上传,选择“添加文件”,直接选择本地数据集压缩文件夹,不需要解压后再上传:
image.png


点击“确定”,开始进行上传数据:


image.png


利用OBS Browser+工具将数据上传至华为云云端的速度很快,在华为云云端很快就可以看见刚刚上传的本地电脑的数据集。

3


3.本地Pycharm中创建训练工程并配置环境


打开PyCharm工具,单击“File->Create Project”创建新工程:

image.png


在工程目录下创建“src”文件夹:
image.png


并将训练代码文件“dog_and_cat_train.py”拷贝到“src”文件夹下

image.png


在PyCharm工具栏中,选择“ModelArts->Edit Creden”:
image.png



输入步骤一得到的密钥,并且此时的区域必须和OBS区域保持一致,即“华北-北京四”


image.png
登陆后,选择“ModelArts->Edit Training Job Configuration”:


image.png
在弹出的对话框中,按照如下示例配置训练参数:
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时,表示后台的计算模式为分布式。


image.png
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
image.png


Running Parameters:运行参数。如果您的代码需要添加一些运行参数,可以在此处添加,多个运行参数使用英文分号隔开, 例如"key1=value1;key2=value2"。此参数也可以不设置,即保持为空。

设置好了后,点击“Apply and Run”:


image.png




4


4.开始在本地调用ModelArts平台训练模型


点击“Apply and Run”后,即可在本地开始调用云端ModelArts平台训练模型:


image.png


当右面页面底下出现下面的指示语时,即说明模型训练成功:


image.png


没有出现上述指示语的话,就要结合以上步骤重新检测一下自己的步骤哪里有问题。



5


5.训练模型云端部署
当完成步骤4后,打开OBS Browser+,进入自动以本地创建的项目名称命名的路径下面的output文件夹下:
image.png


选择一个最高的版本文件夹进入后,在进入该版本文件夹的model文件夹中:

image.png


点击“上传”,选择代码文件“customize_service.py”和“config.json”上传文件:



image.png


上传后回到Pycharm界面,点击左下页面的“ModelArts Explorer”:


image.png
在跳出来的界面中,选择最高版本,点击右键:


image.png按左键确认后,出现训练模型云端部署的页面:


image.png此处可直接默认,点击“OK”:



image.png等待模型服务部署结束时,即可说明模型在云端部署成功:


image.png打开华为云ModelArts主页,在“部署上线-> “在线服务”处即可看到刚才在部署好的模型,此时显示正在运行中:


image.png



6


6.在线服务测试


在“部署上线”的“在线服务”处,点击运行中的在线服务右侧的“预测


image.png



进入到测试界面,单击“上传图片,进行检测:
image.png



用上面步骤,进行其它图片测试,运行界面如下

利用步骤进行其它图片测试:


image.png

测试1

image.png

测试2

image.png

测试3

image.png

测试4

image.png


测试5


至此实验全部完成。


大家使用的云端资源记得全部删除如对象存储服务创建的OBS桶,文件夹;ModelArts创建的数据集,部署的模型等都需要删除,并停用访问密钥,以免造成不必要的花费。


[华为云ModelArts]带给我的记忆不止是人性化,智能化,普众化。更有很多吸引人的AI技术。


正因我们国家有许多像华为这样强大的民族企业在国家背后默默做支撑,做奉献。我们国家才能屹立于世界民族之林。

华为,中国骄傲!中华有为!

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。