华为云ModelArts助力AI开发平台—ModelArts SDK打通本地IDE与云端训练资源

举报
华为云classroom 发表于 2023/12/13 11:16:34 2023/12/13
【摘要】 华为云ModelArts助力AI开发平台—ModelArts SDK打通本地IDE与云端训练资源云服务、API、SDK,调试,查看,我都行 阅读短文您可以学习到:人工智能AI之ModelArts的训练、打通、资源1      Classroom和Toolkit的关系1.1      Classroom的简介classroom是基于华为云的云上软件教学服务,支持初级开发者和高校师生实现备课、上...

云服务、APISDK,调试,查看,我都行

阅读短文您可以学习到:人工智能AIModelArts的训练、打通、资源

1      Classroom和Toolkit的关系

1.1      Classroom的简介

classroom是基于华为云的云上软件教学服务,支持初级开发者和高校师生实现备课、上课、作业、考试、实验、实训等全教学流程的线上教学,提供多类习题自动判题、企业级DevOps实训、免费在线习题库等众多高级特性辅助进行数字化教学转型。

1.2      Toolkit插件之华为云API实战课程

2      IntelliJ IDEA 之API插件介绍

API插件支持 VS Code IDEIntelliJ IDEA等平台、以及华为云自研 CodeArts IDE,基于华为云服务提供的能力,帮助开发者更高效、便捷的搭建应用。API插件关联华为云服务下的 API ExplorerDevStarCodeLabsSDK 中心和 CLI 中心产品,致力于为开发者提供更稳定、快速、安全的编程体验。

在本插件中,我们提供了但不局限于如下的功能:

对接华为云API开放平台,支持用户检索API、查看API文档、调试API、以及提供SDK示例代码供用户学习如何使用API

提供华为云SDK代码片段补全功能,SDK依赖包自动引入,加速用户集成华为云API

对接华为云开发体验馆Codelabs,提供500+云服务代码示例,向导式教程帮助用户快速学习。

说明:

IntelliJ IDEA等系列平台和VS Code IDE,华为云API插件的名称是Huawei Cloud API。而在CodeArts IDEAPI插件是IDE原生内置的,名称是华为云API开发套件。

API插件在IntelliJ IDEA等系列平台和VS Code IDE的使用依赖底座插件,请提前安装底座插件。

3      API插件安装--IntelliJ IDEA

3.1    IntelliJ IDEA等平台

安装准备:下载并安装JDK1.8或更高版本。下载并安装IntelliJ IDEA 2020.2或更高版本。

须知:IntellIj平台同时支撑包括GolandPycharm等在内的IDE,若在其它相关IDE上开发,请下载配置好对应语言的编译器或者解释器。这里以IDEA为例介绍IntelliJ平台插件的安装流程,其他IntelliJ系列的IDE请参考IDEA

开始安装:

您可以在直接在IDE插件市场或者直接在JetBrains插件市场下载离线包安装。

IDE安装

  1. IntelliJ IDEA顶部菜单栏中选择File > Settings,在Settings对话框的左侧导航栏中单击Plugins
  2. Plugins区域单击Marketplace,在搜索栏中输入Huawei Cloud API
  3. Search Results区域会出现Huawei Cloud API,单击Install,完成后重启IDE

离线包安装:

  1. 进入插件市场搜索Huawei Cloud API,进入插件详情页,在Versions页签下选择想要版本的API插件,点击Download下载离线的插件压缩包保存到本地。。
  2. IntelliJ IDEA顶部菜单栏中选择File > Settings,在Settings对话框的左侧导航栏中单击Plugins
  3. Plugins区域单击 ,再单击Install Plugin from Disk...
  4. 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,目前云服务206APIs9213

4      ModelArts SDK打通本地IDE与云端训练资源

4.1      什么是ModelArts Pycharm插件?

ModelArts Pycharm插件是ModelArts SDK的一部分,用于将本地Pycharm中开发的代码提交到云端训练环境,用户只需要专注于本地的代码开发即可。Pycharm是目前一种很流行的Python语言集成开发环境。插件将协助用户完成代码上传,启动训练,在训练过程中传参,将训练日志从云端拉下来在本地展示等。

4.2      掌握使用ModelArts Pycharm插件提交训练作业、部署在线服务的方法。

您需要准备什么?

  1. 一台电脑(WindowsMacLinux操作系统)
  2. 谷歌浏览器

准备工作:

体验ModelArts Pycharm插件功能,需要完成以下准备工作

下载安装Pycharm 2019.2

本案例中的插件仅适用于Pycharm 2019.2 ProfessionalCommunity版,请检查您使用的机器上是否已安装该版本的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.com/usermanual-account/zh-cn_topic_0069252244.html

参考此链接,完成实名认证,推荐使用扫码认证。

https://support.huaweicloud.com/usermanual-account/zh-cn_topic_0133456714.html

**注意:**请及时检查账号状态,避免账号处于欠费或冻结状态时资源被冻结,影响您的使用。

获取访问密钥并完成ModelArts全局配置

参考此文档 获取访问密钥并完成ModelArts全局配置。

https://support.huaweicloud.com/prepare-modelarts/modelarts_08_0002.html

注意:访问秘钥文件请妥善保存,后续实践会用到。

创建OBS桶和文件夹

OBS,即Object Storage Service,对象存储服务,是华为云上提供云上储存的服务。在ModelArts之前您需要创建一个OBS桶,并在其中创建一个用于存放数据的文件夹。

登录OBS管理控制台, 页面右上角点击"创建桶",系统弹出如下图所示的对话框,选择"区域""华北-北京四",然后需要手动输入桶名称,这里需要注意,由于需要保证桶名全局唯一,所以您需要取一个自己定义的名字,比如在本案例中取的桶名是“obs-pycharm-01”。输入好桶名之后,其他选项保持默认即可,最后点击页面下方"立即创建"按钮即可成功创建。、

https://storage.huaweicloud.com/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文件夹下有srctest两个文件夹。

src文件夹中存放的是源代码,文件列表如下:

├── config.json

├── customize_service.py

├── index

├── pipeline.config

└── train.py

train.py是训练脚本,customize_service.py是推理脚本,其他是辅助的配置文件。test文件夹下存放的是测试图片。

数据集已经存放在公开的OBS桶中,其路径已配置在src/pipeline.config中。该数据集抽样于自动驾驶领域的人车数据集,有人和车两种物体,共2000张图片,有三个子目录trainevaltest,分别存放训练集、验证集和测试集。

      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,进入登录界面:

选择“华北-北京四”,输入自己账号的AKSK

如果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同名的目录,然后在该同名目录下再创建codelogsoutput三个目录,分别是从本地上传上去的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 ExplorerTraining Job根节点,双击版本号,查看最新提交的训练作业信息,从中可以看到训练任务的训练代码路径、训练结果保存路径和训练日志路径,然后用户可以去云端OBS查看各路径下的文件。

  1. 插件部署在线服务

配置在线服务参数

在训练作业版本名称上,点击鼠标右键,然后点击Deploy to Service按钮,弹出部署在线服务配置窗口,输入服务名,勾选Auto stop,点击OK部署在线服务。

查看部署进度

部署服务的过程耗时约58分钟,插件的日志栏会展示部署进度。

测试在线服务

部署成功后,打开网页端ModelArts在线服务页面,找到刚部署的在线服务,从本地文件夹car_and_person_detection/test下选择一张图片,上传图片进行预测。

当前Pycharm插件只支持将模型部署为在线服务,只能在网页端上传图片做预测。

回帖领代金券(可选)

如果想要领取第二张代金券,可以将上一步骤中在线服务的测试结果截图保存(截图需要带上右上角的华为云账号),然后在相应的论坛帖子下回帖。累计完成三个案例就可以领取第二张代金券。点击此链接,进入论坛帖子,参与Codelabs 活动。

关闭在线服务

案例完成后,为了防止继续扣费,需要把在线服务停止掉,按照下图,点击“停止”按钮即可。在线服务停止后可以重新启动。

清除OBS资源

OBS存储会持续收费,案例完成后,为了防止继续扣费,可以把OBS存储资源清除。

清除方法:登录OBS管理控制台,找到您在前面步骤新建的桶,比如“obs-pycharm-01”,点击桶名进入概览页面,点击左侧导航栏的“对象”,选中您需要删除的文件夹,点击删除。

5      恭喜您

恭喜您,您已经使用ModelArts Pycharm插件完成了打通本地IDE与云端训练资源的任务!

接下来您可以

直接在云上体验ModelArts的自动学习和预置算法无代码模型开发。

参考文献

https://support.huaweicloud.com/tg-modelarts/modelarts_15_0001.html

https://support.huaweicloud.com/browsertg-obs/obs_03_1000.html

6      体验插件课程

https://classroom.devcloud.huaweicloud.com/MOOCCourseStudy/join/ef4ebc3dbaa246ff995f75022cac8cb9识别下方二维码立即体验

 

 

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

评论(0

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

全部回复

上滑加载中

设置昵称

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

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

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