在VS Code中手动连接Notebook
本地IDE环境支持VS Code。通过简单配置,即可用本地IDE远程连接到ModelArts的Notebook开发环境中,调试和运行代码。
本章节介绍基于VS Code环境访问Notebook的方式。
前提条件
- 已安装VS Code推荐版本并满足约束限制,详情请参见安装VS Code软件。
- 用户本地PC或服务器的操作系统中建议先安装Python环境,详情请参见VS Code官方指导。
- 已在DEW管理控制台创建账号密钥对或私有密钥对,并将密钥文件并存放在指定目录下。具体操作,请参见创建密钥对。
- Windows:C:\Users\{{user}}
- macOS/Linux:~
如果创建账号密钥对或私有密钥对时,勾选“我同意将密钥对私钥托管”,则密钥可重复下载(在“账号密钥对”或“私有密钥对”页面的操作列单击“导出私钥”);如果未勾选“我同意将密钥对私钥托管”,则仅创建时会自动下载,后续无法下载,请妥善保存。图1 我同意将密钥对私钥托管
- 已创建一个Notebook实例,并开启SSH远程开发(密钥对选择已创建的账号密钥对或私有密钥对)。该实例状态必须处于“运行中”,详情请参见创建Notebook实例。
- 在Notebook实例详情页面的“基本信息”页签,获取SSH远程开发地址。 图2 Notebook实例详情页面

步骤一:添加Remote-SSH插件
在本地的VS Code开发环境中,单击左侧列表的Extensions图标选项
,在搜索框中输入SSH,单击Remote-SSH插件的install按钮,完成插件安装。
步骤二:配置SSH
- 在本地的VS Code开发环境中,单击左侧Remote Explorer按钮
,在上方的下拉列表中选择“SSH Target”,再单击页面上的设置按钮
,此时会出现SSH配置文件路径。 图4 配置SSH Targets页面
- 单击列表中出现的SSH路径按钮,打开config文件,进行配置。 图5 配置SSH Config文件
config文件配置格式示例如下。HOST remote-dev hostname <instance connection host> port <instance connection port> user <instance connection user> IdentityFile <instance connection IdentityFile> UserKnownHostsFile=/dev/null StrictHostKeyChecking no ForwardAgent yes- 运行用户为ma-user/ma-group:假设SSH远程开发的地址为ssh://ma-user@authoring-ssh-modelarts-*****.huawei.com:31092,其中authoring-ssh-modelarts-*****.huawei.com为hostname,31092为port,ma-user为user。SSH远程开发地址从前提条件获取。配置示例如下:
HOST remote-dev hostname authoring-ssh-modelarts-*****.huawei.com port 31092 user ma-user IdentityFile C:\Users\Administrator\KeyPair-1234-test.pem UserKnownHostsFile=/dev/null StrictHostKeyChecking no ForwardAgent yes - 运行用户为root/root:假设SSH远程开发的地址为ssh://root@authoring-ssh-modelarts-*****.huawei.com:31092,其中authoring-ssh-modelarts-*****.huawei.com为hostname,31092为port,root为user。SSH远程开发地址从前提条件获取。配置示例如下:
HOST remote-dev hostname authoring-ssh-modelarts-*****.huawei.com port 31092 user root IdentityFile C:\Users\Administrator\KeyPair-1234-test.pem UserKnownHostsFile=/dev/null StrictHostKeyChecking no ForwardAgent yes
表1 config文件参数说明 参数
说明
HOST
自定义连接配置名称。
hostname
云上开发环境的访问地址,从前提条件SSH远程开发地址中获取。
port
云上开发环境的端口,从前提条件SSH远程开发地址中获取。
user
用于连接云上开发环境的用户名,从前提条件SSH远程开发地址中获取。
IdentityFile
存放在本地的云上开发环境私钥文件,即前提条件存放在指定目录下的密钥对。
UserKnownHostsFile
指定已知主机文件的路径。
StrictHostKeyChecking
是否严格检查云上开发环境的公钥。设置为no表示即使云上开发环境的公钥不匹配,也会继续连接。
ForwardAgent
支持SSH免密连接第三方远程服务器。
- 运行用户为ma-user/ma-group:假设SSH远程开发的地址为ssh://ma-user@authoring-ssh-modelarts-*****.huawei.com:31092,其中authoring-ssh-modelarts-*****.huawei.com为hostname,31092为port,ma-user为user。SSH远程开发地址从前提条件获取。配置示例如下:
- 再回到SSH Targets页面,选择远程开发环境名称,单击右侧的Connect to Host in New Window按钮
。 图6 打开开发环境
在新打开的选择Notebook运行环境页面中,选择“Linux”。
图7 选择Notebook运行环境
图8 开发环境远程连接成功
步骤三:安装云端Python插件
在新打开的VS Code界面,单击左侧列表的Extensions选项
,在搜索框中输入Python,在下拉列表中单击“Install”进行安装。
如果安装远端的Python插件不成功时,建议通过离线包的方式安装。具体操作请参见安装远端插件时不稳定,需尝试多次。
步骤四:云上环境依赖库安装
在进入容器环境后,可以使用不同的虚拟环境,例如TensorFlow、PyTorch等,但是实际开发中,通常还需要安装其他依赖包,此时可以通过Terminal连接到环境里操作。
- 在VS Code环境中,执行Ctrl+Shift+P。
- 搜Python: Select Interpreter,选择对应的Python环境。
- 单击页面上方的,此时打开的命令行界面即为远端容器环境命令行。
- 进入引擎后,通过执行如下命令安装依赖包。
pip install spacy