针对创建好的Notebook实例(即状态为“运行中”的实例),可以打开Notebook并 在开发环境中启动编码。
基于不同AI引擎创建的Notebook实例,打开方式不一样。
pytorch、tensorflow、mindspore、Tensorflow-mindspore、cylp-cbcpy、rlstudio-ray、mindquantum-mindspore镜像支持以下2种方式访问:
● 本地IDE使用PyCharm/VSCode/SSH工具,远程连接访问,具体参见本地IDE操作 流程。
● 在线JupyterLab访问,具体参见JupyterLab简介及常用操作。
mlstudio-pyspark镜像仅支持在线JupyterLab访问,具体参见JupyterLab简介及常用 操作
mindstudio镜像仅支持在本地使用MobaXterm通过SSH远程访问,具体参见使用
MindStudio开发Ascend算子。
modelbox镜像仅支持在本地使用VSCode插件远程访问,具体参见配置本地VSCode连 接云上开发环境Modelbox镜像。
2. 执行如下操作启动或停止Notebook。
– 启动Notebook:单击“操作”列的“启动”。只有处于“停止”状态的 Notebook可以执行启动操作。
– 停止Notebook:单击“操作”列的“停止”。只有处于“运行中”状态的 Notebook可以执行停止操作。
注意
Notebook停止后:
● /home/ma-user/work目录下的数据会保存,其余目录下内容会被清理。
例如:用户在开发环境中的其他目录下安装的外部依赖包等,在 Notebook停止后会被清理。
● Notebook实例将停止计费,但如有EVS盘挂载,存储部分仍会继续计费。
删除实例
针对不再使用的Notebook实例,可以删除以释放资源。
1. 登录ModelArts管理控制台,在左侧菜单栏中选择“开发环境>Notebook”,进入 新版Notebook管理页面。
2. 在Notebook列表中,单击操作列的“删除”,在弹出的确认对话框中,确认信息 无误,然后单击“确定”,完成删除操作。
注意
Notebook删除后不可恢复,请谨慎操作。
无论Notebook使用默认存储还是云硬盘EVS存储,实例删除后,挂载目录下的数 据也将一并删除,请谨慎操作。
3.4 开发环境中如何选择存储
不同存储的实现都不同,在性能、易用性、成本的权衡中可以有不同的选择,没有一 个存储可以覆盖所有场景,了解下云上开发环境中各种存储使用场景说明,更能提高 使用效率。
表3-3 云上开发环境中各种存储使用场景说明
● 在Notebook中训练 时,可直接使用挂
-如何使用
1. 在开发环境中如何使用EFS文件存储(默认存储)?
在创建Notebook实例时选择默认存储即可。
2. 在开发环境中如何使用云硬盘EVS块存储?
在创建Notebook实例时选择云硬盘存储,Notebook运行过程中可以动态扩充云 硬盘EVS容量。
3. 在开发环境中如何使用OBS并行文件系统?
Notebook运行过程中可以动态挂载OBS并行文件系统。
3.5 动态挂载 OBS 并行文件系统
什么是动态挂载 OBS 并行文件系统
在运行态的Notebook容器中,采用动态挂载特性,将OBS对象存储模拟成本地文件系 统。其本质是通过挂载工具,将对象协议转为POSIX文件协议。挂载后应用层可以在容 器中正常操作OBS对象。
动态挂载适用于哪些使用场景
场景1:数据集预览和操作,将承载数据集的OBS挂载至Notebook中,可以像本地文 件系统一样操作数据集。
场景2:在Notebook中训练时,可直接使用挂载至Notebook容器中的数据集。
动态挂载 OBS 并行文件系统有什么限制
OBS提供两种桶,对象存储(对象桶)和并行文件系统。
ModelArts的Notebook(新版)仅支持挂载OBS的并行文件系统,挂载至Notebook容 器/data/的子目录下。
动态挂载 OBS 并行文件系统操作
方式1:通过ModelArts控制台操作
1. 登录ModelArts管理控制台,在左侧导航栏中选择“开发环境 > Notebook”,进 入“Notebook”新版管理页面。
图3-6 动态挂载 OBS
3. 挂载成功后,可以在Notebook实例详情页查看到挂载结果。
图3-7 挂载成功
方式2:API模式
动态挂载API接口已发布至华北-北京四和华东-上海一站点。必须在新版Notebook中执 行挂载脚本。
挂载脚本代码示例如下:
import os
from json import JSONEncoder
from modelarts.config.auth import auth_by_apig from modelarts.session import Session
session = Session()
request_url = "/v1/{}/notebooks/{}/storage".format(os.environ['PROJECT_ID'], os.environ["INSTANCE_ID"])
# 查询动态挂载列表
auth_by_apig(session, 'GET', request_url)
# 动态挂载,OBS路径obs://obs-bucket-train/dir/需要根据实际修改,挂载路径mount_path取值为“/data/
xxx/”,本示例以“/data/demo/”为例,“demo”可以自定义。
3.6 动态扩充云硬盘 EVS 容量
什么是动态扩容 EVS
存储配置采用云硬盘EVS的Notebook实例, 存储盘是挂载至容器/home/ma-user/
work/目录下, 可以在实例运行中的状态下,动态扩充存储盘容量,最大动态扩容 200GB。
动态扩容 EVS 适用于哪些使用场景
在Notebook开发过程中,初期存储使用量较小时, 创建Notebook可以选择小容量 EVS, 比如5G大小; 开发完成后,需要大规模数据集训练,此时再将存储容量扩容至 当前阶段所需容量,可以节约费用。
动态扩容 EVS 有什么限制
1. Notebook实例的存储配置采用的是云硬盘EVS。
图3-8 创建 Notebook 实例时选择云硬盘 EVS 存储
2. 单次最大可以扩容100GB,允许扩容2次,总共扩容200GB,并且扩容后的总容量 不超过4096GB。
3. 云硬盘EVS存储容量最大支持4096GB,达到4096GB时,不允许再扩容。
4. 实例停止后,扩容后的容量仍然有效。计费也是按照扩容后的云硬盘EVS容量进行 计费。
5. 云硬盘EVS只要使用就会计费,请在停止Notebook实例后,确认不使用就及时删 除数据,释放资源,避免产生费用。
动态扩容 EVS 操作
1. 登录ModelArts管理控制台,在左侧导航栏中选择“开发环境 > Notebook”,进 入“Notebook”新版管理页面。
2. 选择运行中的Notebook实例,单击实例名称,进入Notebook实例详情页面,单 击“扩容”。
图3-9 Notebook 实例详情页
3. 设置待扩充的存储容量大小,单击“确定”。系统显示“扩容中”,扩容成功 后,可以看到扩容后的存储容量。
单次最大可以扩容100GB,允许扩容2次,总共扩容200GB。
图3-10 扩容
图3-11 扩容中
3.7 变更 Notebook 实例运行规格
ModelArts允许用户在同一个Notebook实例中切换节点运行规格,方便用户灵活调整 规格资源。
前提条件
Notebook实例状态必须在“停止”中。
切换规格
1. 登录ModelArts管理控制台,在左侧菜单栏中选择“开发环境 > Notebook”,进 入新版Notebook管理页面。
2. 在Notebook列表,单击某个Notebook实例规格栏的 ,在下拉框中选择对应规 格资源。
3.8 修改 Notebook 远程连接 IP 地址
在创建Notebook实例时,如果设置了允许远程连接Notebook的白名单IP地址,当用 户需要更换一个IP地址远程连接Notebook实例时,则可以在Notebook的实例详情页 修改白名单IP地址。
1. 登录ModelArts管理控制台,在左侧菜单栏中选择“开发环境 > Notebook
(New)”,进入新版Notebook管理页面。
2. 在Notebook列表,单击某个具体的实例名称,进入查看实例详情页面。单击白名 单右侧的修改 ,可以修改允许远程访问Notebook的IP地址。修改后,单击 保存即可。
图3-12 修改白名单 IP 地址
此处的IP地址,请填写外网IP地址。如果用户使用的访问机器和华为云ModelArts 服务的网络有隔离,则访问机器的外网地址需要在主流搜索引擎中搜索“IP地址 查询”获取,而不是使用ipconfig或ifconfigip命令在本地查询。
图3-13 查询外网 IP 地址
3. 修改远程连接的可访问IP地址后, 原来已经建立的链接依然有效, 当链接关闭后 失效;新打开建立的链接只允许当前设置的IP进行访问。
4 CodeLab
面向众多开发者,ModelArts提供了CodeLab功能,一方面,一键进入开发环境,同时 预置了免费的算力规格,可直接免费体验Notebook功能;另一方面,针对AIGallery社 区发布的Notebook样例(.ipynb格式文件),可直接在CodeLab中打开,查看他人分 享的样例代码。
功能亮点
● 免费算力
CodeLab内置了免费算力,包含CPU和GPU两种。您可以使用免费规格,端到端 体验ModelArts Notebook能力。也可使用此免费算力,在线完成您的算法开发。
● 即开即用
无需创建Notebook实例,打开即可编码。
● 高效分享
ModelArts在AI Gallery中提供的Notebook样例,可以直接通过Run in
ModelArts,一键打开运行和学习,并且可将样例修改后分享到AI Gallery中直接 另存用于个人开发。
同时,您开发的代码,也可通过CodeLab快速分享到AI Gallery中给他人使用学 习。
使用限制
● CodeLab默认打开,使用的是CPU计算资源。如需切换为GPU,请在右侧窗口,
更换GPU规格。
● 自启动后,免费规格默认可使用1小时,请注意右上角的剩余时长。超过1小时 后,可执行续期操作,且系统每隔一段时间,将提醒确认下续期。
● 免费的CodeLab主要用于体验,72小时内未使用,将释放资源。保存在其中的代 码文档将丢失,请注意备份文件以及使用时长。
图4-1 支持的框架及版本
CodeLab 入口
● ModelArts管理控制台的“总览”页
在“开发工具”区域下方,展示“CodeLab”简介卡片,单击“立即体验”,即 可进入。
图4-2 CodeLab 入口
● AI Gallery页面提供的Notebook样例
a. 在AI Gallery页面,单击“资产集市 > 开发 > Notebook”栏目中的任意 Notebook样例,进入详情页。
说明
● 首次进入CodeLab时,会提醒先登录ModelArts控制台,由于需要进行环境准备,需要等待 1~2分钟才可顺利进入开发页面,请耐心等待。
● CodeLab的内部环境依托Notebook功能,因此其工作环境,与JupyterLab界面相似。
体验 CodeLab
1. 进入CodeLab主页。
从管理控制台总览页进入,展示CodeLab首页。
图4-4 CodeLab 首页
2. 常用功能。
CodeLab的界面依托于JupyterLab,其相关的常见功能,与JupyterLab相同。
常用操作指导可参见JupyterLab操作指导:JupyterLab简介及常用操作。
说明
由于CodeLab的存储为系统默认路径,在使用“上传文件”或“下载文件至本地”时,只 能使用JupyterLab页面提供的功能(存在文件大小限制,目前建议为小于100MB的文 件),无法使用JupyterLab中提供的大文件上传下载功能。
如需使用大文件上传和下载的功能,建议您前往Notebook,创建一个收费的实例进行使 用。
3. 切换规格。
CodeLab支持CPU和GPU两种规格在右侧区域,单击切换规格,修改规格类型。
图4-5 切换规格
4. 资源监控。
在使用过程中,如果想了解资源使用情况,可在右侧区域选择“Resource Monitor”,展示“CPU使用率”和“内存使用率”。
图4-6 资源监控
5. 分享副本到AI Gallery。单击右上角的 ,将修改后的Notebook样例保存分享到 AI Gallery中,供自己或他人学习使用。
图4-7 分享到 AI Gallery
分享成功后,通过分享链接可以打开分享的副本,也可以在AI Gallery中找到分享 的Notebook。
图4-8 发布成功
5 JupyterLab
5.1 JupyterLab 操作流程
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简介及常用操
4. 在JupyterLab中编写代码文件,并运行调试。具体参见JupyterLab简介及常用操