本文介绍如何启动远程连接到 Azure 机器学习计算实例的 Visual Studio Code。借助 Azure 机器学习资源的强大功能,使用 VS Code 作为集成开发环境 (IDE)。在VS Code中将计算实例设置为远程 Jupyter Notebook 服务器。
关注TechLead,分享AI全维度知识。作者拥有10 年互联网服务架构、AI产品研发经验、团队管理经验,同济本复旦硕,复旦机器人智能实验室成员,阿里云认证的资深架构师,项目管理专业人士,上亿营收AI产品研发负责人。
一、启动与 Azure 机器学习集成的 Visual Studio Code
1.1 准备事项
准备事项:
- 一个 Azure 机器学习工作区和一个计算实例。完成创建入门所需的资源即可同时创建这两者。
- 登录到工作室,选择工作区(如果尚未打开)。
- 在“管理预览功能”面板中,向下滚动并启用“将计算实例连接到 Visual Studio Code 网页版”。
1.2 使用 VS Code 作为工作区 IDE
VS Code 网页版
VS Code 网页版为你提供了一个功能齐全的开发环境,可用于构建你的机器学习项目,所有操作都可以从浏览器中完成,并且不需要安装任何软件或依赖项。通过连接你的 Azure 机器学习计算实例,你可以获得丰富的集成开发体验和代码,并通过 Azure 机器学习的强大功能得到增强。
从 Azure 机器学习工作室选择一下来 VS Code 网页版,并无缝地继续你的工作。
登录 Azure 机器学习工作室并按照步骤启动 VS Code 网页版浏览器标签页(已连接到你的 Azure 机器学习计算实例)。
可以从 Azure 机器学习工作室的“笔记本”或“计算”部分创建连接。
- 笔记本
- 选择“笔记本”选项卡。
- 在“笔记本”选项卡中,选择要编辑的文件。
- 如果计算实例已停止,请选择“启动计算”,并等待它运行。
- 选择“编辑器”>“在 VS Code 中编辑 (Web)”。
- 计算
- 选择“计算”选项卡
- 如果希望使用的计算实例已停止,请选择它,然后选择“开始”。
- 运行计算实例后,在“应用程序”列中,选择“VS Code (Web)”。
如果看不到这些选项,请确保已启用“将计算实例连接到 Web 版 Visual Studio Code”预览功能,。
VS Code 桌面版
在初始连接时,系统可能会提示你安装 Azure 机器学习 Visual Studio Code 扩展(如果你尚未安装)。有关详细信息,请参阅 Azure 机器学习 Visual Studio Code 扩展安装指南。
若要从 Visual Studio Code 连接到远程计算实例,请确保在 Azure 机器学习工作室中登录到的帐户与 Visual Studio Code 中使用的帐户相同。
导航到 ml.azure.com
可以从 Azure 机器学习工作室的“笔记本”或“计算”部分创建连接。
- 笔记本
- 选择“笔记本”选项卡
- 在“笔记本”选项卡中,选择要编辑的文件。
- 如果计算实例已停止,请选择“启动计算”,并等待它运行。
4. 选择“在 VS Code(桌面)中编辑”。
5. 还可以从文件资源管理器命令栏或文件资源管理器中文件夹上的操作菜单启动 VS Code 网页版,而不打开笔记本
- 计算
- 选择“计算”选项卡。
- 如果希望使用的计算实例已停止,请选择它,然后选择“开始”。
- 运行计算实例后,在“应用程序”列中,选择“VS Code (桌面版)”。
VS Code 会话
此选项将当前 VS Code 会话连接到远程计算机实例。要从 VS Code 连接到你的计算实例,你需要安装 Azure 机器学习 Visual Studio Code 扩展。有关详细信息,请参阅 Azure 机器学习 Visual Studio Code 扩展安装指南。
Azure 机器学习扩展
- 在 VS Code 中启动 Azure 机器学习扩展。
- 展开扩展中的“计算实例”节点。
- 右键单击要连接到的计算实例,然后选择“连接到计算实例”。
命令面板
- 在 VS Code 中,选择“视图”>“命令面板”,打开命令面板。
- 在文本框中输入“Azure ML: 连接到计算实例”。
- 选择订阅。
- 选择工作区。
- 选择计算实例或新建一个计算实例。
1.3 VS Code 建立连接
如果你选择其中一个点击式体验,系统会打开一个新的 VS Code 窗口,并尝试连接到远程计算实例。在尝试建立此连接时,将执行以下步骤:
- 授权。执行一些检查以确保授权尝试进行连接的用户使用计算实例。
- VS Code 远程服务器安装在计算实例上。
- 建立 WebSocket 连接以进行实时交互。
建立连接后,该连接就会持久化。令牌在会话开始时颁发,它会自动刷新以维护与计算实例的连接。
连接到远程计算实例之后,使用编辑器执行以下操作:
- 创作和管理远程计算实例或文件共享上的文件。
- 使用 VS Code 集成终端在远程计算实例上运行命令和应用程序。
- 调试脚本和应用程序
- 使用 VS Code 管理 Git 存储库
二、远程 Jupyter Notebook 服务器
此选项允许你从 Visual Studio Code(桌面版)将计算实例用作远程 Jupyter 笔记本服务器。此选项仅连接到计算实例,不会连接到工作区的其他实例。使用此选项时,你不会在 VS Code 中看到自己的工作区文件。
要将计算实例配置为远程 Jupyter 笔记本服务器,请首先安装:
- Azure 机器学习 Visual Studio Code 扩展。有关详细信息,请参阅 Azure 机器学习 Visual Studio Code 扩展安装指南。
若要连接到计算实例:
- 在 Visual Studio Code 中打开 Jupyter Notebook。
- 加载集成笔记本体验时,选择“选择内核”。
或者,可以使用命令面板:
a. 从菜单栏中选择“视图”>“命令面板”以打开命令面板。b. 在文本框中输入 AzureML: Connect to Compute instance Jupyter server
。
- 从 Jupyter 服务器选项列表中选择
Azure ML Compute Instances
。 - 从订阅列表中选择你的订阅。如果之前配置过默认 Azure 机器学习工作区,则跳过此步骤。
- 选择工作区。
- 从列表中选择你的计算实例。如果没有计算实例,请选择“创建新的 Azure 机器学习计算实例”,并按照提示进行创建。
- 要使更改生效,必须重新加载 Visual Studio Code。
- 打开 Jupyter Notebook 并运行一个单元。
你当前正在访问 Microsoft Azure Global Edition 技术文档网站。如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
三、在远程连接到计算实例的 VS Code 中工作(预览版)
3.1 设置远程连接的 IDE
VS Code 有多个扩展,可以帮助你实现机器学习目标。使用 Azure 扩展进行连接并使用你的 Azure 订阅。使用 Azure 机器学习扩展可查看、更新和创建工作区资产,如计算、数据、环境、作业等。
使用 VS Code 网页版时,会自动为你提供这些扩展的最新版本。如果使用桌面应用程序,则可能需要安装最新版本。
首次启动连接到计算实例的 VS Code 时,请确保遵循这些步骤,并花一些时间来了解集成开发环境中的工具。
- 找到 Azure 扩展并登录
- 列出你的订阅后,你可以筛选出你经常使用的订阅。还可以在订阅中固定你最常使用的工作区。
- 应自动将你从中启动 VS Code 远程连接的工作区(计算实例所在的工作区)设置为默认工作区。可以从 VS Code 状态栏更新默认工作区。
- 如果你计划使用 Azure 机器学习 CLI,请从菜单中打开终端,然后使用
az login --identity
登录到 Azure 机器学习 CLI。
以后连接到此计算实例时,不必重复这些步骤。
3.2 连接到内核
可以通过多种方法从 VS Code 连接到 Jupyter 内核。请务必了解不同方法区别以及各自的优势。
如果你已在 Azure 机器学习中打开此笔记本,我们建议你连接到计算实例上的现有会话。此操作将重新连接到你在 Azure 机器学习中为此笔记本创建的现有会话。
- 在笔记本的右上角找到内核选取器并选择它
- 选择“Azure 机器学习计算实例”选项,然后选择“远程”(如果你以前连接过)
- 选择具有现有连接的笔记本会话
如果你的笔记本没有现有会话,你可以从该列表中选择可用的内核来创建一个新的会话。此操作将创建 VS Code 专用的内核会话。这些特定于 VS Code 的会话只能在 VS Code 中使用,并且必须在 VS Code 中进行管理。可以通过安装 Jupyter PowerToys 扩展来管理这些会话。
虽然有几种方法可以连接和管理 VS Code 中的内核,但要实现从 Azure 机器学习工作室到 VS Code 的无缝过渡,推荐方法是连接到现有的内核会话。如果你计划主要在 VS Code 中工作,则可以使用任何适合你的内核连接方法。
3.3 Azure 机器学习与 VS Code 之间的转换
建议不要尝试同时在两个应用程序中处理相同的文件,因为这样做可能需要解决某些冲突。在导航到 VS Code 之前,我们将在 Azure 机器学习工作室中保存你的当前文件。你可以使用 YAML 优先方法改为在 VS Code 中执行 Azure 机器学习工作室中提供的许多操作。你可能会发现,在执行特定操作时(例如,编辑和调试文件),自己喜欢使用 VS Code,而执行其他操作时(例如,创建训练作业),则更喜欢使用 Azure 机器学习工作室。你应该会发现你可以在两者之间无缝地来回切换。
关注TechLead,分享AI全维度知识。作者拥有10 年互联网服务架构、AI产品研发经验、团队管理经验,同济本复旦硕,复旦机器人智能实验室成员,阿里云认证的资深架构师,项目管理专业人士,上亿营收AI产品研发负责人。