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直接提交训练作业,具体参考使用PyCharmToolKit提交训练作业。
▪
也可以通过调用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。