华为云ModelArts助力AI开发平台—ModelArts SDK打通本地IDE与云端训练资源
云服务、API、SDK,调试,查看,我都行
阅读短文您可以学习到:人工智能AI之ModelArts的训练、打通、资源
1 Classroom和Toolkit的关系
1.1 Classroom的简介
classroom是基于华为云的云上软件教学服务,支持初级开发者和高校师生实现备课、上课、作业、考试、实验、实训等全教学流程的线上教学,提供多类习题自动判题、企业级DevOps实训、免费在线习题库等众多高级特性辅助进行数字化教学转型。
1.2 Toolkit插件之华为云API实战课程
2 IntelliJ IDEA 之API插件介绍
API插件支持 VS Code IDE、IntelliJ IDEA等平台、以及华为云自研 CodeArts IDE,基于华为云服务提供的能力,帮助开发者更高效、便捷的搭建应用。API插件关联华为云服务下的 API Explorer、DevStar、CodeLabs、SDK 中心和 CLI 中心产品,致力于为开发者提供更稳定、快速、安全的编程体验。
在本插件中,我们提供了但不局限于如下的功能:
对接华为云API开放平台,支持用户检索API、查看API文档、调试API、以及提供SDK示例代码供用户学习如何使用API。
提供华为云SDK代码片段补全功能,SDK依赖包自动引入,加速用户集成华为云API。
对接华为云开发体验馆Codelabs,提供500+云服务代码示例,向导式教程帮助用户快速学习。
说明:
在IntelliJ IDEA等系列平台和VS Code IDE,华为云API插件的名称是Huawei Cloud API。而在CodeArts IDE,API插件是IDE原生内置的,名称是华为云API开发套件。
API插件在IntelliJ IDEA等系列平台和VS Code IDE的使用依赖底座插件,请提前安装底座插件。
3 API插件安装--IntelliJ IDEA
3.1 IntelliJ IDEA等平台
安装准备:下载并安装JDK1.8或更高版本。下载并安装IntelliJ IDEA 2020.2或更高版本。
须知:IntellIj平台同时支撑包括Goland、Pycharm等在内的IDE,若在其它相关IDE上开发,请下载配置好对应语言的编译器或者解释器。这里以IDEA为例介绍IntelliJ平台插件的安装流程,其他IntelliJ系列的IDE请参考IDEA。
开始安装:
您可以在直接在IDE插件市场或者直接在JetBrains插件市场下载离线包安装。
IDE安装
- 在IntelliJ IDEA顶部菜单栏中选择File > Settings,在Settings对话框的左侧导航栏中单击Plugins。
- Plugins区域单击Marketplace,在搜索栏中输入Huawei Cloud API。
- Search Results区域会出现Huawei Cloud API,单击Install,完成后重启IDE。
离线包安装:
- 进入插件市场搜索Huawei Cloud API,进入插件详情页,在Versions页签下选择想要版本的API插件,点击Download下载离线的插件压缩包保存到本地。。
- 在IntelliJ IDEA顶部菜单栏中选择File > Settings,在Settings对话框的左侧导航栏中单击Plugins。
- 在Plugins区域单击 ,再单击Install Plugin from Disk...。
- 在Choose Plugin File对话框中选择离线安装包(不用解压),并按照IntelliJ IDEA安装页面的提示,完成后续安装步骤。
说明:若当前您想要安装插件的IntelliJ IDE已经在桌面打开,则进入插件市场搜索Huawei Cloud API,进入插件详情页,在右上角会识别到本地已经打开的IDE,点击相应按钮,在弹出的IDE窗口中点击ok,则IDE后台会开始安装相应版本的API插件。
安装验证:在IntelliJ系列平台上安装插件成功后在左侧的导航栏中可以看到Huawei Cloud Toolkit图标,点击后面板会出现Huawei Cloud API的字样,则说明安装成功。
3.2 API列表
左侧展示API列表,可以查询所有API,目前云服务206,APIs9213
4 ModelArts SDK打通本地IDE与云端训练资源
4.1 什么是ModelArts Pycharm插件?
ModelArts Pycharm插件是ModelArts SDK的一部分,用于将本地Pycharm中开发的代码提交到云端训练环境,用户只需要专注于本地的代码开发即可。Pycharm是目前一种很流行的Python语言集成开发环境。插件将协助用户完成代码上传,启动训练,在训练过程中传参,将训练日志从云端拉下来在本地展示等。
4.2 掌握使用ModelArts Pycharm插件提交训练作业、部署在线服务的方法。
您需要准备什么?
- 一台电脑(Windows,Mac或Linux操作系统)
- 谷歌浏览器
准备工作:
体验ModelArts Pycharm插件功能,需要完成以下准备工作
下载安装Pycharm 2019.2
本案例中的插件仅适用于Pycharm 2019.2 Professional和Community版,请检查您使用的机器上是否已安装该版本的Pycharm,如果已安装,则跳过本步骤。
如果您未安装该版本的Pycharm,可以根据需要选择点击如下任一链接进行下载安装:
2019.2.5 for Windows (exe) Community,该版本免费
2019.2.5 for Windows (exe) Professional,该版本需收费
2019.2.5 for macOS (dmg) Community,该版本免费
2019.2.5 for macOS (dmg) Professional ,该版本需收费
创建华为云账号并实名认证
参考此链接,注册华为云账号。
https://support.huaweicloud.cn/usermanual-account/zh-cn_topic_0069252244.html
参考此链接,完成实名认证,推荐使用扫码认证。
https://support.huaweicloud.cn/usermanual-account/zh-cn_topic_0133456714.html
**注意:**请及时检查账号状态,避免账号处于欠费或冻结状态时资源被冻结,影响您的使用。
获取访问密钥并完成ModelArts全局配置
参考此文档 获取访问密钥并完成ModelArts全局配置。
https://support.huaweicloud.cn/prepare-modelarts/modelarts_08_0002.html
注意:访问秘钥文件请妥善保存,后续实践会用到。
创建OBS桶和文件夹
OBS,即Object Storage Service,对象存储服务,是华为云上提供云上储存的服务。在ModelArts之前您需要创建一个OBS桶,并在其中创建一个用于存放数据的文件夹。
登录OBS管理控制台, 页面右上角点击"创建桶",系统弹出如下图所示的对话框,选择"区域"为"华北-北京四",然后需要手动输入桶名称,这里需要注意,由于需要保证桶名全局唯一,所以您需要取一个自己定义的名字,比如在本案例中取的桶名是“obs-pycharm-01”。输入好桶名之后,其他选项保持默认即可,最后点击页面下方"立即创建"按钮即可成功创建。、
https://storage.huaweicloud.cn/obs/#/obs/manager/buckets
接下来创建实验所需的OBS文件夹。点击进入新建的OBS桶,比如“obs-pycharm-01”,点击桶名进入概览页面,点击左侧导航栏的“对象” ,点击新建文件夹按钮,即可创建文件夹,如下图所示:
按照上述方式,创建OBS路径: /obs-pycharm-01/codelab/pycharm/car_and_person/pycharm_jobs/data。
准备代码和数据
点击此链接,下载压缩包至本地,然后解压。
https://modelarts-labs.obs.cn-north-1.myhuaweicloud.com/codelab/train/car_and_person_detection.tar.gz
解压后,可以看到car_and_person_detection文件夹下有src和test两个文件夹。
src文件夹中存放的是源代码,文件列表如下:
├── config.json
├── customize_service.py
├── index
├── pipeline.config
└── train.py
train.py是训练脚本,customize_service.py是推理脚本,其他是辅助的配置文件。test文件夹下存放的是测试图片。
数据集已经存放在公开的OBS桶中,其路径已配置在src/pipeline.config中。该数据集抽样于自动驾驶领域的人车数据集,有人和车两种物体,共2000张图片,有三个子目录train、eval和test,分别存放训练集、验证集和测试集。
3.插件安装&登录
下载插件安装包
点击此处下载,将得到 Pycharm-ToolKit-PC-2019.2-HEC-1.3.0.zip。
https://modelarts-pycharm-plugin.obs.cn-north-1.myhuaweicloud.com/Pycharm-ToolKit-PC-2019.2-HEC-1.3.0.zip
安装插件
打开Pycharm 2019.2,依次点击File -> Open,打开car_and_person_detection文件夹,点击ok,成功创建一个Project。
下面是导入插件的步骤:
如果您使用的是Windows系统,找到Pycharm菜单栏,依次点击File -> Settings -> Plugins -> 设置符号 -> Install Plugin from Disk,选择上一步下载的zip包,点击OK。
如果您使用的是macOS系统,找到Pycharm菜单栏,依次点击Pycharm -> Preferences -> Plugins -> 设置符号 -> Install Plugin from Disk,选择上一步下载的zip包,点击OK。
然后点击”Restart IDE“,插件即安装成功。
如果报如下错误,是因为插件版本和PyCharm版本不一致导致的,需要更换PyCharm版本为 2019.2。
登录
点击工具栏 -> ModelArts -> Edit Credential,进入登录界面:
选择“华北-北京四”,输入自己账号的AK和SK:
如果AK SK验证成功,IDE右下角将会弹出登录成功的提示,此时可以直接进入到“查看训练作业”环节
如果登录不成功,则点击右下角“Event Log”查看错误原因,根据错误信息进行分析解决。
查看训练作业
登录后,在IDE左边栏的ModelArts标签,展开后可以看到ModelArts Explorer,此处展示了云端账号下已有的训练作业。
双击某个作业的版本号,可以查询训练作业详情。
4.插件提交训练作业
配置训练作业参数
点击工具栏ModelArts -> Edit Training Job Configuration。
按照如下指导填写作业参数:
参数名 参数说明
Job Name 训练作业名称,可以自定义,比如此处可填写“car_and_person_pycharm”
Job Description 训练作业描述,可以添加自己想添加的描述,比如“pycharm training job”
AI Engine AI引擎,鼠标点选"TensorFlow"、“TF-1.13.1-python3.6”
Specifications 训练作业使用的硬件资源规格,有多种规格可选,建议参考上图选择
Compute Nodes 计算节点个数,选默认值1即可
OBS Path OBS上的pycharm训练任务存储路径,填写/obs-pycharm-01/codelab/pycharm/car_and_person_detection/pycharm_jobs/。
该路径的用途:ModelArts Pycharm插件会在该路径下自动创建与Job Name同名的目录,然后在该同名目录下再创建code、logs和output三个目录,分别是从本地上传上去的Code Directory、训练日志保存路径和训练结果输出路径
Data Path in OBS OBS上的训练数据存储路径,填写/obs-pycharm-01/codelab/pycharm/car_and_person_detection/data/。
该路径的用途:用于存放训练数据,但是本案例已经把训练数据放到公共OBS桶,所以该路径不放任何文件即可。
Boot File Path 本地训练代码的启动文件,选择本地文件夹car_and_person_detection\src下的train.py的路径。
Code Directory 本地训练代码所在的目录,即train.py所在的目录。
Running Parameters 训练代码的运行参数,此处可填写“max_epochs=1;learning_rate_strategy=1:0.0001;batch_size=16”
具体支持哪些参数,取决于训练代码
如果你使用过云上的ModelArts平台提交训练作业,就会对这些参数比较熟悉。和云上的差异是,这里选择的训练代码路径是本地的路径,用户不用预先把代码上传至云端OBS,插件会自动把Code Directory整个目录都上传上去。
配置好后,点击Apply and Run提交作业,插件会做一些参数的检测并提示参数是否OK,如果OK,则向云端的ModelArts平台提交训练作业,并持续的获取训练日志直到训练结束。
查看训练过程
ModelArts Training Log 中会展示训练过程中的日志,同时日志也会保存在工程目录下的MA_LOG文件夹。如下图所示,左边是训练任务的状态,右边是云端训练日志的输出,本案例的训练任务需6分钟左右完成。
通过菜单栏的ModelArts -> Stop Training Job可以停止正在运行的训练作业。当然,此处我们不停止训练作业:
训练结束后,点击ModelArts Explorer的Training Job根节点,双击版本号,查看最新提交的训练作业信息,从中可以看到训练任务的训练代码路径、训练结果保存路径和训练日志路径,然后用户可以去云端OBS查看各路径下的文件。
- 插件部署在线服务
配置在线服务参数
在训练作业版本名称上,点击鼠标右键,然后点击Deploy to Service按钮,弹出部署在线服务配置窗口,输入服务名,勾选Auto stop,点击OK部署在线服务。
查看部署进度
部署服务的过程耗时约5到8分钟,插件的日志栏会展示部署进度。
测试在线服务
部署成功后,打开网页端ModelArts在线服务页面,找到刚部署的在线服务,从本地文件夹car_and_person_detection/test下选择一张图片,上传图片进行预测。
当前Pycharm插件只支持将模型部署为在线服务,只能在网页端上传图片做预测。
回帖领代金券(可选)
如果想要领取第二张代金券,可以将上一步骤中在线服务的测试结果截图保存(截图需要带上右上角的华为云账号),然后在相应的论坛帖子下回帖。累计完成三个案例就可以领取第二张代金券。点击此链接,进入论坛帖子,参与Codelabs 活动。
关闭在线服务
案例完成后,为了防止继续扣费,需要把在线服务停止掉,按照下图,点击“停止”按钮即可。在线服务停止后可以重新启动。
清除OBS资源
OBS存储会持续收费,案例完成后,为了防止继续扣费,可以把OBS存储资源清除。
清除方法:登录OBS管理控制台,找到您在前面步骤新建的桶,比如“obs-pycharm-01”,点击桶名进入概览页面,点击左侧导航栏的“对象”,选中您需要删除的文件夹,点击删除。
5 恭喜您
恭喜您,您已经使用ModelArts Pycharm插件完成了打通本地IDE与云端训练资源的任务!
接下来您可以
直接在云上体验ModelArts的自动学习和预置算法无代码模型开发。
参考文献
https://support.huaweicloud.cn/tg-modelarts/modelarts_15_0001.html
https://support.huaweicloud.cn/browsertg-obs/obs_03_1000.html
6 体验插件课程
https://classroom.devcloud.huaweicloud.cn/MOOCCourseStudy/join/ef4ebc3dbaa246ff995f75022cac8cb9识别下方二维码立即体验
- 点赞
- 收藏
- 关注作者
评论(0)