• 沒有找到結果。

ModelArts支持通过JupyterLab工具在线打开Notebook,开发基于PyTorch、

TensorFlow和MindSpore引擎的AI模型。具体操作流程如下图所示。

5-1 使用 JupyterLab 在线开发调试代码

1. 创建Notebook实例

在ModelArts控制台中创建一个Notebook开发环境实例,选择要使用的AI框架。

具体参见创建Notebook实例。

2. 使用JupyterLab打开Notebook实例。具体参见打开JupyterLab。

3. 准备训练数据和代码文件,上传到JupyterLab中。具体参见上传本地文件至

JupyterLab。

4. 在JupyterLab中编写代码文件,并运行调试。具体参见JupyterLab简介及常用操 作。

5. 在JupyterLab中直接调用ModelArts提供的SDK,创建训练作业,上云训练。

调用SDK创建训练作业的操作请参见调用SDK创建训练作业(当前仅支持提交到

可以说,JupyterLab是开发者们下一阶段更主流的开发环境。JupyterLab具有和 Jupyter Notebooks一样的组件,但支持更加灵活和更加强大的项目操作方式。

打开 JupyterLab

下面介绍如何从运行中的Notebook实例打开JupyterLab。

1. 登录ModelArts管理控制台,在左侧菜单栏中选择“开发环境 > Notebook”,进 入新版Notebook管理页面。

2. 选择状态为“运行中”的Notebook实例,单击操作列的“打开”,访问 JupyterLab。

5-2 打开 Notebook 实例

3. 进入JupyterLab页面后,自动打开Launcher页面,如下图所示。您可以使用开源 支持的所有功能,详细操作指导可参见JupyterLab官网文档。

5-3 JupyterLab 主页

JupyterLab 中新建 ipynb 文件

进入JupyterLab主页后,可在“Notebook”区域下,选择适用的AI引擎,单击后将新 建一个对应框架的ipynb文件。

由于每个Notebook实例选择的工作环境不同,其支持的AI框架也不同,下图仅为示 例,请根据实际显示界面选择AI框架。

5-4 选择 AI 引擎并新建一个 ipynb 文件

新建的ipynb文件将呈现在左侧菜单栏中。

5-5 新建文件

新建文件并打开 Console

Console的本质为Python终端,输入一条语句就会给出相应的输出,类似于Python原 生的IDE。

进入JupyterLab主页后,可在“Console”区域下,选择适用的AI引擎,单击后将新建 一个对应框架的Notebook文件。

由于每个Notebook实例选择的工作环境不同,其支持的AI框架也不同,下图仅为示 例,请根据实际显示界面选择AI框架。

5-6 选择 AI 引擎并新建一个 Console

文件创建成功后,将直接呈现Console页面。

5-7 新建文件(Console)

JupyterLab 中编辑文件

JupyterLab可以在同一个窗口同时打开几个Notebook或文件(如HTML、TXT、

Markdown等),以页签形式展示。

JupyterLab的一大优点是,可以任意排版多个文件。在右侧文件展示区,您可以拖动 打开文件,随意调整文件展示位置,可以同时打开多个文件。

5-8 多文件任意编排

当在一个Notebook中写代码时,如果需要实时同步编辑文件并查看执行结果,可以新 建该文件的多个视图。

打开ipynb文件,然后单击菜单栏“File > New View for Notebook”,即可打开多个 视图。

5-9 同一个文件的多个视图

JupyterLab的ipynb文件代码栏中输入代码,需要在代码前加!符号。

例如:安装外部库Shapely

!pip install Shapely

例如:查看PythonPath

!echo $PYTHONPATH

5-10 运行代码

自动停止及续期

在创建或启动Notebook时,如果启用了自动停止功能,则在JupyterLab的右上角会显 示当前实例停止的倒计时(剩余时长),在倒计时结束前可以单击剩余时间进行续 期。

5-11 自动停止

5-12 续期

JupyterLab 常用快捷键和插件栏

5-13 JupyterLab 常用快捷键和插件栏

5-1 快捷键说明

快捷键 说明

打开Launcher页面,可快速创建新的Notebook、Console或其他文 件。

创建文件夹。

上传文件。

刷新文件目录。

Git插件,可连接此Notebook实例关联的Github代码库。

5-2 插件栏常用插件说明

插件 说明

文件列表。单击此处,将展示此Notebook实例下的所有文件列 表。

罗列ModelArts Examples。

不同Region支持的Examples不一样,请以控制台实际界面为准。

当前实例中正在运行的Terminal和Kernel。

Git插件,可以方便快捷的使用Github代码库。

快速启动命令。

属性检查器。

查看正在打开的文件页签。

文档结构图。

5-14 导航栏按钮

5-3 导航栏按钮介绍

按钮 说明

File 新建、关闭、保存、重新加载、、重命名、导出、打印Notebook 等功能。

Edit 编辑ipynb文件中代码块的相关操作,包括撤销、重做、剪切、复 制、粘贴、选择、移动、合并、清除、查找代码块等。

按钮 说明

Settings JupyterLab工具系统设置。

Help JupyterLab工具自带的帮助参考。

5-15 ipynb 文件菜单栏中的快捷键

5-4 ipynb 文件菜单栏中的快捷键

快捷键 说明

保存文件。

添加新代码块。

剪切选中的代码块。

复制选中的代码块。

粘贴选中的代码块。

执行选中的代码块。

终止kernel。

重启kernel。

此处下拉框有4个选项,分别是:

Code(写python代码),Markdown(写Markdown代码,通常 用于注释),Raw(一个转换工具),-(不修改)。

查看代码历史版本。

git插件,图标显示灰色表示当前Region不支持。

当前的资源规格。

资源监控

在使用过程中,如果想了解资源使用情况,可在右侧区域选择“Resource Monitor”,展示“CPU使用率”和“内存使用率”。

5-16 资源监控

6 本地 IDE

6.1 本地 IDE 操作流程

ModelArts支持通过本地IDE环境远程连接到Notebook中,开发基于Pytorch、

Tensorflow和MindSpore引擎的AI模型。具体操作流程如下图所示。

6-1 使用本地 IDE 开发流程

1. 配置本地IDE

在用户的PC端配置本地IDE环境。

支持通过PyCharm和VSCode 2类本地IDE连接云上Notebook。PyCharm和 VSCode可以使用插件自动化配置,也可以手工配置。

2. 创建Notebook实例

在ModelArts控制台中创建一个Notebook开发环境实例,选择要使用的AI框架,

并开启SSH远程开发功能。

3. 使用本地IDE远程连接到ModelArts的开发环境中。

4. 上传数据和代码至开发环境中,进行代码调试。

– 在本地IDE中提交训练作业(当前仅支持提交到旧版训练作业)

可以基于PyCharm ToolKit直接提交训练作业,具体参考使用PyCharm

ToolKit提交训练作业。

也可以通过调用ModelArts提供的SDK,创建训练作业,上云训练,调用 SDK创建训练作业的操作请参见调用SDK创建训练作业。

– 在ModelArts的Console控制台页面中提交训练作业,具体参考创建训练作 业。

6.2 配置本地 IDE(PyCharm ToolKit 连接)

ModelArts提供了一个PyCharm插件工具PyCharm ToolKit,协助用户完成代码上 传、提交训练作业、将训练日志获取到本地展示等,用户只需要专注于本地的代码开 发即可。

前提条件

本地已安装2019.2及以上版本的PyCharm专业版。SSH远程开发功能只限PyCharm专 业版。

Step1 下载并安装 PyCharm ToolKit

插件工具包PyCharm ToolKit集成在ModelArts管理控制台中,请先下载并安装 PyCharm ToolKit插件。

具体下载和安装过程请参见安装PyCharm ToolKit工具插件包。

Step2 登录插件

请创建插件访问密钥AK/SK(参考链接),并使用访问密钥完成登录认证(参考链 接),使得ToolKit与公有云完成连接。

Step3 创建 Notebook 实例

创建一个Notebook实例,并开启远程SSH开发,配置远程访问IP白名单。该实例状态 必须处于“运行中”,具体参见创建Notebook实例章节。

Step4 插件自动化配置

1. 在本地的PyCharm开发环境中,单击“ModelArts > Connect To Remote >

Remote Config”,配置插件。

说明

此处如果看不到Connect to Remote选项,请先参考创建Notebook实例章节,创建 Notebook实例,并开启该实例的SSH远程开发功能。

也可能是PyCharm ToolKit的版本不正确,请按照文档要求下载新版本的PyCharm ToolKit。

下载前请先清除浏览器缓存,如果之前下载过老版本的PyCharm ToolKit,浏览器会有缓 存,可能会导致新版本下载失败。

2. 此时,会出现该帐号已创建的所有包含SSH功能的Notebook列表,下拉进行选择 对应Notebook。

6-3 Notebook 列表

– KeyPair: 需要选择保存在本地的Notebook对应的keypair认证。即创建 Notebook时创建的密钥对文件,创建时会直接保存到浏览器默认的下载文件 夹中。

– PathMappings: 该参数为本地IDE项目和Notebook对应的同步目录,默认为/

home/ma-user/work/project名称,可根据自己实际情况更改。

3. 单击“Apply”,配置完成后,重启IDE生效。

重启后初次进行update python interpreter需要耗费20分钟左右。

Step5 使用插件连接云上 Notebook

与Notebook断开连接的状态下,单击Notebook名称,根据提示启动本地IDE与 Notebook的连接(默认启动时间4小时)。

6-4 启动连接 Notebook

连接状态下,单击Notebook名称,根据提示断开本地IDE与云上Notebook的连接。

6-5 停止连接 Notebook

Step6 同步上传本地文件至 Notebook

本地文件中的代码直接拷贝至本地IDE中即可,本地IDE中会自动同步至云上开发环 境。

初始化同步:

在本地IDE的Project目录下,单击右键,选择“Deployment”,单击“Upload to xxx”(Notebook名称),将本地工程文件上传至指定的Notebook。

6-6 同步本地文件至 Notebook

后续同步:

只需修改代码后保存(ctrl+s),即可进行自动同步。

插件安装完成后在本地IDE中开启了“Automatic Upload”,本地目录中的文件会自 动上传至云端开发环境Notebook。如果未开启,请参考下图开启自动上传。

6-7 开启自动上传

Step7 远程调试

单击本地IDE右下角interpreter,选择Notebook的python解释器。

6-8 选择 Python 解释器

像本地运行代码一样,直接单击运行按钮运行代码即可,此时虽然是在本地IDE点的运 行按钮,实际上运行的是云端Notebook里的代码,日志可以回显在本地的日志窗口。

6-9 查看运行日志

6-10 设置运行参数(1)

选择远程连接到云上开发环境实例对应的Python解释器。

6-11 设置运行参数(2)

当需要调试代码时,可以直接打断点,然后使用debug方式运行程序。

6-12 使用 debug 方式运行程序

此时可以进入debug模式,代码运行暂停在该行,且可以查看变量的值。

6-13 Debug 模式下查看变量值

6.3 配置本地 IDE(PyCharm 手动连接)

本地IDE环境支持Pycharm和VSCode。通过简单配置,即可用本地IDE远程连接到 ModelArts的Notebook开发环境中,调试和运行代码。

本章节介绍基于PyCharm环境访问Notebook的方式。

前提条件

● 本地已安装2019.2及以上版本的PyCharm专业版。SSH远程调试功能只限 PyCharm专业版。

● 创建一个Notebook实例,并开启远程SSH开发。该实例状态必须处于“运行 中”,具体参见创建Notebook实例章节。

● 在Notebook实例详情页面获取开发环境IP地址(例如:dev-modelarts-cnnorth4.huaweicloud.com)和端口号。

6-14 Notebook 实例详情页面

– Host: 云上开发环境的IP地址,即在开发环境实例页面远程访问模块获取的IP 地址。例如:dev-modelarts-cnnorth4.huaweicloud.com

– Port: 云上开发环境的端口,即在开发环境实例页面远程访问模块获取的端口 号。

– User name: 固定为ma-user – Authentication type: Key pair方式

– Private key file: 存放在本地的云上开发环境私钥文件,即在创建开发环境实 例时创建并保存的密钥对文件。

2. 单击 将连接重命名,可以自定义一个便于识别的名字,单击OK。

2. 单击 将连接重命名,可以自定义一个便于识别的名字,单击OK。