使用PyCharm Toolkit插件连接Notebook
由于AI开发者会使用PyCharm工具开发算法或模型,为方便快速将本地代码提交到ModelArts的训练环境,ModelArts提供了一个PyCharm插件工具PyCharm ToolKit,协助用户完成SSH远程连接Notebook、代码上传、提交训练作业、将训练日志获取到本地展示等,用户只需要专注于本地的代码开发即可。
本章节介绍了使用PyCharm Toolkit如何连接Notebook。
使用限制
- 当前仅支持2019.2-2023.2之间(包含2019.2和2023.2)版本,包括社区版和专业版。
- 使用PyCharm ToolKit远程连接Notebook开发环境,仅限PyCharm专业版。
- 使用PyCharm ToolKit提交训练作业,社区版和专业版都支持,PyCharm ToolKit latest版本仅限提交新版训练作业。
- PyCharm ToolKit工具仅支持Windows版本的PyCharm。
支持的功能 |
说明 |
对应操作指导 |
---|---|---|
SSH远程连接 |
支持SSH远程连接ModelArts的Notebook开发环境。 |
|
训练模型 |
支持将本地开发的代码,快速提交至ModelArts并自动创建新版训练作业,在训练作业运行期间获取训练日志并展示到本地。 |
|
OBS上传下载 |
上传本地文件或文件夹至OBS,从OBS下载文件或文件夹到本地。 |
前提条件
本地已安装2019.2-2023.2之间(包含2019.2和2023.2)版本的PyCharm专业版。SSH远程开发功能只限PyCharm专业版。单击PyCharm工具下载地址下载并完成安装。
Step1 下载并安装PyCharm ToolKit
在PyCharm中选择“File > Settings > Plugins”,在Marketplace里搜索“ModelArts”,单击“Install”即可完成安装。
Step2 创建Notebook实例
创建一个Notebook实例,并开启远程SSH开发,配置远程访问IP白名单。该实例状态必须处于“运行中”,具体参见创建Notebook实例章节。
Step3 登录插件
使用访问密钥完成登录认证操作如下:
- 打开已安装ToolKit工具的PyCharm,在菜单栏中选择“ModelArts > Edit Credential”。
图1 Edit Credential
如果菜单栏中找不到“ModelArts > Edit Credential”,可能是PyCharm版本过高,PyCharm toolkit未适配2023.2之后版本的PyCharm工具。请下载2019.2-2023.2之间(包含2019.2和2023.2)版本的PyCharm专业版工具。
- 在弹出的对话框中,选择您使用的ModelArts所在区域、填写AK、SK(获取方式参考链接),然后单击“OK”完成登录。
- “Region”:从下拉框中选择区域。必须与ModelArts管理控制台在同一区域。
- “Project”:Region选择后,Project自动填充为Region对应的项目。
- “Access Key ID”:填写访问密钥的AK。
- “Secret Access Key”:填写访问密钥的SK。
图2 填写区域和访问密钥
- 查看认证结果。
在Event Log区域中,当提示如下类似信息时,表示访问密钥添加成功。
16:01Validate Credential Success: The HUAWEI CLOUDcredential is valid.
Step4 插件自动化配置
- 在本地的PyCharm开发环境中,单击图3 配置插件
,配置插件。
- 此时,会出现该账号已创建的所有包含SSH功能的Notebook列表,下拉进行选择对应Notebook。
图4 Notebook列表
- KeyPair: 需要选择保存在本地的Notebook对应的keypair认证。即创建Notebook时创建的密钥对文件,创建时会直接保存到浏览器默认的下载文件夹中。
- PathMappings: 该参数为本地IDE项目和Notebook对应的同步目录,默认为/home/ma-user/work/project名称,可根据自己实际情况更改。
- 单击“Apply”,配置完成后,重启IDE生效。
重启后初次进行update python interpreter需要耗费20分钟左右。
Step5 使用插件连接云上Notebook
与Notebook断开连接的状态下,单击Notebook名称,根据提示启动本地IDE与Notebook的连接(默认启动时间4小时)。
连接状态下,单击Notebook名称,根据提示断开本地IDE与云上Notebook的连接。
Step6 同步上传本地文件至Notebook
本地文件中的代码直接复制至本地IDE中即可,本地IDE中会自动同步至云上开发环境。
初始化同步:
在本地IDE的Project目录下,单击右键,选择“Deployment”,单击“Upload to xxx”(Notebook名称),将本地工程文件上传至指定的Notebook。
后续同步:
只需修改代码后保存(ctrl+s),即可进行自动同步。
插件安装完成后在本地IDE中开启了“Automatic Upload”,本地目录中的文件会自动上传至云端开发环境Notebook。如果未开启,请参考下图开启自动上传。
Step7 远程调试
单击本地IDE右下角interpreter,选择Notebook的python解释器。
像本地运行代码一样,直接单击运行按钮运行代码即可,此时虽然是在本地IDE点的运行按钮,实际上运行的是云端Notebook里的代码,日志可以回显在本地的日志窗口。
也可以单击本地IDE右上角的Run/Debug Configuration按钮来设置运行参数。
选择远程连接到云上开发环境实例对应的Python解释器。
当需要调试代码时,可以直接打断点,然后使用debug方式运行程序。
此时可以进入debug模式,代码运行暂停在该行,且可以查看变量的值。