在远程连接到计算实例的 VS Code 中工作(预览版)

在本文中,了解在远程连接到 Azure 机器学习计算实例的 VS Code 中工作的详细信息。 借助 Azure 机器学习资源的强大功能,使用 VS Code 作为全特征集成开发环境 (IDE)。 可以通过 VS Code 网页版在浏览器中远程连接到你的计算实例,也可以使用 VS Code 桌面版应用程序。

  • 我们建议使用 VS Code 网页版,因为你可以直接从浏览器中执行所有机器学习工作,而无需任何安装软件或依赖项。

重要

此功能目前处于公开预览状态。 此预览版在提供时没有附带服务级别协议,我们不建议将其用于生产工作负荷。 某些功能可能不受支持或者受限。

有关详细信息,请参阅适用于 Azure 预览版的补充使用条款

重要

若要连接到防火墙后面的计算实例,请参阅配置入站和出站网络流量

先决条件

开始之前,需要做好以下准备:

设置远程连接的 IDE

VS Code 有多个扩展,可以帮助你实现机器学习目标。 使用 Azure 扩展进行连接并使用你的 Azure 订阅。 使用 Azure 机器学习扩展可查看、更新和创建工作区资产,如计算、数据、环境、作业等。

使用 VS Code 网页版时,会自动为你提供这些扩展的最新版本。 如果使用桌面应用程序,则可能需要安装最新版本。

首次启动连接到计算实例的 VS Code 时,请确保遵循这些步骤,并花一些时间来了解集成开发环境中的工具。

  1. 找到 Azure 扩展并登录

  2. 列出你的订阅后,你可以筛选出你经常使用的订阅。 还可以在订阅中固定你最常使用的工作区。

    Screenshot shows how to filter and pin in VS Code window.

  3. 应自动将你从中启动 VS Code 远程连接的工作区(计算实例所在的工作区)设置为默认工作区。 可以从 VS Code 状态栏更新默认工作区。

    Screenshot shows VS Code status bar.

  4. 如果你计划使用 Azure 机器学习 CLI,请从菜单中打开终端,然后使用 az login --identity 登录到 Azure 机器学习 CLI。

    Screenshot shows opening terminal window from VS Code.

以后连接到此计算实例时,不必重复这些步骤。

连接到内核

可以通过多种方法从 VS Code 连接到 Jupyter 内核。 请务必了解不同方法区别以及各自的优势。

如果你已在 Azure 机器学习中打开此笔记本,我们建议你连接到计算实例上的现有会话。 此操作将重新连接到你在 Azure 机器学习中为此笔记本创建的现有会话。

  1. 在笔记本的右上角找到内核选取器并选择它

    Screenshot shows kernel picker in VS Code.

  2. 选择“Azure 机器学习计算实例”选项,然后选择“远程”(如果你以前连接过)

    Screenshot shows selecting the compute instance in VS Code.

  3. 选择具有现有连接的笔记本会话

    Screenshot shows selecting the kernel in VS Code.

如果你的笔记本没有现有会话,你可以从该列表中选择可用的内核来创建一个新的会话。 此操作将创建 VS Code 专用的内核会话。 这些特定于 VS Code 的会话只能在 VS Code 中使用,并且必须在 VS Code 中进行管理。 可以通过安装 Jupyter PowerToys 扩展来管理这些会话。

虽然有几种方法可以连接和管理 VS Code 中的内核,但要实现从 Azure 机器学习工作室到 VS Code 的无缝过渡,推荐方法是连接到现有的内核会话。 如果你计划主要在 VS Code 中工作,则可以使用任何适合你的内核连接方法。

Azure 机器学习与 VS Code 之间的转换

建议不要尝试同时在两个应用程序中处理相同的文件,因为这样做可能需要解决某些冲突。 在导航到 VS Code 之前,我们将在 Azure 机器学习工作室中保存你的当前文件。 你可以使用 YAML 优先方法改为在 VS Code 中执行 Azure 机器学习工作室中提供的许多操作。 你可能会发现,在执行特定操作时(例如,编辑和调试文件),自己喜欢使用 VS Code,而执行其他操作时(例如,创建训练作业),则更喜欢使用 Azure 机器学习工作室。 你应该会发现你可以在两者之间无缝地来回切换。

后续步骤

有关在 VS Code 中管理 Jupyter 内核的更多信息,请参阅Jupyter 内核管理