Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
本文介绍如何在 Azure 机器学习工作室的工作区中运行 Jupyter 笔记本。 还可以使用 Jupyter、 JupyterLab 和 Visual Studio Code 运行笔记本。 VS Code Desktop 可配置为访问计算实例。 或者直接从浏览器使用 VS Code 网页版,而无需任何必需的安装或依赖项。
提示
建议尝试 VS Code 网页版,以利用它提供的简单集成和丰富的开发环境。 VS Code 网页版提供了你喜欢的许多 VS Code Desktop 功能,包括浏览和编辑时搜索和语法突出显示。 有关使用 VS Code Desktop 和 VS Code 网页版的详细信息,请参阅启动与 Azure 机器学习集成的 Visual Studio Code 和在远程连接到计算实例的 VS Code 中工作。
无论使用哪种解决方案来运行笔记本,都可访问工作区中的所有文件。 有关如何创建和管理文件(包括笔记本)的信息,请参阅在工作区中创建和管理文件。
本文演示了直接在工作室中运行笔记本的体验。
重要
标记为“(预览版)”的功能在提供时不附带服务级别协议,不建议将其用于生产工作负载。 某些功能可能不受支持或者受限。
先决条件
- Azure 订阅。 如果没有 Azure 订阅,请在开始前创建一个试用版订阅。
- 机器学习工作区。 请参阅创建工作区资源。
- 你的用户标识必须有权访问工作区的默认存储帐户。 能否阅读、编辑或创建笔记本取决于你具有的对工作区的访问级别。 例如,“参与者”可以编辑笔记本,而“读者”只能查看它。
- 若要运行笔记本中的单元格,需要有一个计算实例。 创建和运行计算实例需要工作区区域中的可用 VM 配额,并在运行时产生费用。
从工作区访问笔记本
使用工作区的“笔记本”部分来编辑和运行 Jupyter 笔记本。
- 登录到 Azure 机器学习工作室
- 如果尚未打开,请选择您的工作区
- 在左侧选择“笔记本”
编辑笔记本
若要编辑笔记本,请打开位于工作区“用户文件”部分的任何笔记本。 选择要编辑的单元格。 如果本部分中没有任何笔记本,请参阅在工作区中创建和管理文件。
你可以在不连接到计算实例的情况下编辑笔记本。 要运行笔记本中的单元格时,请选择或创建一个计算实例。 如果选择一个已停止的计算实例,则在你运行第一个单元时,该计算实例会自动启动。
如果计算实例正在运行,还可以在任何 Python Notebook 中使用由 Intellisense 提供支持的代码完成功能。
计算实例运行时,可从笔记本工具栏启动 Jupyter 或 JupyterLab。 Azure 机器学习不提供来自 Jupyter 或 JupyterLab 的更新,也不修复其中的 bug,因为这些开源产品不在 Azure 支持的范围内。
焦点模式
使用焦点模式展开当前视图,以便将焦点放在活动的选项卡上。 焦点模式将隐藏笔记本文件资源管理器。
在笔记本工具栏中,选择 “焦点”模式 以打开焦点模式。 根据窗口宽度,该工具可能位于工具栏中的 ... 菜单项下。
在焦点模式下,通过选择“标准视图”返回到标准视图。
代码补全 (IntelliSense)
IntelliSense 是一个代码完成辅助插件,其中包括许多功能:“列出成员”、“参数信息”、“快速信息”和“完成单词”。 只需按几下按键,就能:
- 详细了解所用的代码
- 随时了解您正在输入的参数
- 添加对属性和方法的调用
插入代码片段(预览版)
使用 Ctrl+Space 触发 IntelliSense 代码片段。 滚动浏览建议或开始键入以查找要插入的代码。 插入代码后,按 Tab 键逐个切换到各个参数,自定义代码以满足自己的使用需求。
在 VS Code 中打开笔记本时,可以使用这些相同的代码片段。
可以使用笔记本工具栏打开代码段面板来浏览和搜索代码段列表。
在代码片段面板中,还可以提交请求以添加新代码段。
共享笔记本
笔记本存储在工作区的存储帐户中,并且可以与其他人共享,具体取决于他们对工作区的访问级别。 他们可以打开和编辑笔记本,只要他们具有相应的访问权限。 例如,“参与者”可以编辑笔记本,而“读者”只能查看它。
你的工作区的其他用户可以在 Azure 机器学习工作室的笔记本、用户文件部分中找到你的笔记本。 默认情况下,你的笔记本位于以你的用户名命名的文件夹中,其他人可以在该文件夹中访问它们。
此外,还可以在打开笔记本时从浏览器复制 URL,然后将其发送给其他人。 只要他们对你的工作区有相应访问权限,他们就可以打开笔记本。
由于你不共享计算实例,因此运行你的笔记本的其他用户将使用他们自己的计算实例。
通过笔记本评论进行协作
使用笔记本评论与其他有权访问你笔记本的人协作。
在笔记本顶部使用“笔记本注释”工具打开和关闭“注释”窗格。 如果您的屏幕不够宽,请先选择这组工具末尾的 ...,然后找到此工具。
无论注释窗格是否可见,都可以在任何代码单元格中添加注释:
- 在代码单元格中选择一些文本。 你只能对代码单元格中的文本进行注释。
- 使用“新建注释线程”工具创建注释。
- 如果“评论”窗格之前处于隐藏状态,它现在会打开。
- 使用该工具键入注释并发布,或按 Ctrl+Enter 键。
- 发布评论后,选择右上角的 ...,可进行以下操作:
- 编辑注释
- 解析线程
- 删除线程
注释文本在代码中以紫色高亮显示。 当你在“评论”窗格中选择一条评论时,笔记本会滚动到包含高亮显示文本的单元格。
注意
注释将被保存到该代码单元格的元数据中。
清理笔记本(预览版)
在创建笔记本的过程中,通常最终会得到用于数据浏览或调试的单元格。 gather 功能可帮助您创建一个没有这些多余单元格的整洁笔记本。
- 运行笔记本中的所有单元格。
- 选择包含你希望新笔记本运行的代码的单元格。 例如,用于提交试验的代码,或者用于注册模型的代码。
- 选择显示在单元格工具栏上的 Gather 图标。
- 输入新“已收集”笔记本的名称。
新笔记本只包含代码单元格,所有单元格都需要生成与你选择用于收集的单元格相同的结果。
将笔记本保存并设置检查点
当你创建一个 ipynb 文件时,Azure 机器学习会创建一个检查点文件。
在笔记本工具栏中,选择相应菜单,然后选择“文件”>“保存并设置检查点”以手动保存笔记本,它会添加与笔记本关联的检查点文件。
每个笔记本每隔 30 秒会自动保存一次。 自动保存仅更新初始的 ipynb 文件,而不更新检查点文件。
在“笔记本”菜单中选择“检查点”以创建命名检查点,并将笔记本还原为已保存的检查点。
导出笔记本
在笔记本工具栏中选择菜单,然后选择“导出为”,以任一受支持类型导出笔记本:
- Python
- HTML
- LaTeX
导出的文件保存在计算机上。
运行笔记本或 Python 脚本
若要运行笔记本或 Python 脚本,请先连接到正在运行的计算实例。
如果没有计算实例,请使用以下步骤创建一个计算实例:
- 在笔记本或脚本工具栏中,选择位于“计算资源”下拉列表右侧的 + 新建计算资源。 根据屏幕大小,该控件可能位于“…”菜单下。
- 为计算资源命名,并选择虚拟机大小。
- 选择“创建”。
- 计算实例自动连接到文件。 现在可以使用计算实例左侧的工具来运行笔记本单元格或 Python 脚本。
- 在笔记本或脚本工具栏中,选择位于“计算资源”下拉列表右侧的 + 新建计算资源。 根据屏幕大小,该控件可能位于“…”菜单下。
如果有已停止的计算实例,请在“计算”下拉列表右侧选择“开始计算”。 根据屏幕大小,该控件可能位于“…”菜单下。
连接到计算实例后,使用工具栏运行笔记本中的所有单元格,或使用 Ctrl+Enter 运行选定的单个单元格。
当单元格成功执行完毕后,其执行计数会递增,输出将显示在该单元格下方。 运行完成后,内核状态将返回到空闲状态。
只有本人可以查看和使用自己创建的计算实例。 用户文件与计算机分开存储,并在工作区中的所有计算实例之间共享。
探究笔记本中的变量
在笔记本工具栏上,使用“变量资源管理器”工具显示已在笔记本中创建的所有变量的名称、类型、长度和示例值。
选择该工具以显示“变量浏览器”窗口。
使用目录进行导航
在笔记本工具栏上,使用“目录”工具显示或隐藏目录。 启动带标题的 Markdown 单元格时,它被添加到目录中。 选择表中的条目可滚动到笔记本中的相应单元格。
更改笔记本环境
使用笔记本工具栏可以更改笔记本运行的环境。
以下操作不会更改笔记本状态或笔记本中任何变量的值:
| 操作 | 结果 |
|---|---|
| 关闭内核 | 停止所有正在运行的单元。 运行单元格时,将自动重启内核。 |
| 转到工作区的其他部分 | 正在运行的单元格已停止。 |
以下操作会重置笔记本状态,并重置笔记本中的所有变量。
| 操作 | 结果 |
|---|---|
| 更改内核 | 笔记本使用新内核 |
| 切换计算 | 笔记本自动使用新的计算。 |
| 重置计算 | 当你尝试运行单元格时会重新启动 |
| 停止计算 | 不会运行任何单元 |
| 在 Jupyter 或 JupyterLab 中打开笔记本 | 笔记本在新选项卡中打开。 |
添加新内核
使用终端创建新内核,并将其添加到计算实例。 笔记本会自动查找连接的计算实例上安装的所有 Jupyter 内核。
使用右侧的内核下拉菜单,切换到任一已安装的内核。
管理软件包
由于计算实例有多个内核,因此请确保使用 %pip 或 %condamagic 函数,它们会将包安装到当前运行的内核中。 请勿使用 !pip 或 !conda,它们引用所有包(包括当前运行的内核之外的包)。
状态指示器
Compute 下拉列表旁边的指示器会显示其状态。 状态也会显示在下拉列表本身中。
| 颜色 | 计算资源状态 |
|---|---|
| 绿色 | 计算运行中 |
| 红色 | 计算失败 |
| 黑色 | 已停止计算 |
| 浅蓝色 | 计算资源创建中、启动中、重启中、设置中 |
| 灰色 | 删除计算资源、停止计算资源 |
Kernel 下拉列表旁边的指示器会显示其状态。
| 颜色 | 内核状态 |
|---|---|
| 绿色 | 内核已连接、空闲、繁忙 |
| 灰色 | 内核未连接 |
查找计算详细信息
可在studio的Compute页面上查看有关计算实例的详细信息。
有用的键盘快捷方式
与 Jupyter Notebook 类似,Azure 机器学习工作室笔记本有一个模式化用户界面。 键盘根据笔记本单元格的具体模式执行不同的任务。 对于给定的代码单元格,Azure 机器学习工作室笔记本支持以下两种模式:命令模式和编辑模式。
命令模式快捷方式
当没有文本光标提示你键入时,单元格处于命令模式。 当单元格处于命令模式时,可以将笔记本作为一个整体进行编辑,但不能键入单独的单元格。 按 ESC 或使用鼠标选择单元格编辑器区域外部,进入命令模式。
| 快捷方式 | 描述 |
|---|---|
| 回车键 | 进入编辑模式 |
| Shift+Enter | 运行单元格并选择下方单元格 |
| Control/命令键 + 回车 | 运行单元格 |
| Alt + 回车键 | 运行单元格,在下方插入代码单元格 |
| 控制键/命令键 + Alt + 回车 | 运行单元,在下方插入 Markdown 单元 |
| Alt + R | 全部运行 |
| Y | 将单元格转换为代码 |
| M | 将单元格转换为 Markdown |
| Up/K | 选择上方的单元格 |
| 下行/J | 选择下方的单元格 |
| A | 在上方插入代码单元格 |
| B | 在下方插入代码单元格 |
| Control(控制)/Command(指令) + Shift(移位) + A | 在上方插入 Markdown 单元格 |
| 控制/命令 + Shift + B | 在下方插入 Markdown 单元格 |
| X | 剪切所选单元格 |
| C | 复制所选单元格 |
| Shift + V | 在上方粘贴所选单元格 |
| V | 在下方粘贴所选单元格 |
| D D | 删除所选单元格 |
| O | 切换输出 |
| Shift + O | 打开/关闭输出滚动 |
| I I | 中断内核 |
| 0 0 | 重启内核 |
| Shift + 空格键 | 向上滚动 |
| 空格键 | 向下滚动 |
| 选项卡 | 将焦点更改到下一个可聚焦的项(当 Tab 陷阱被禁用时) |
| 控制/命令 + S | 保存笔记本 |
| 1 | 更改为 h1 |
| 2 | 更改为 h2 |
| 3 | 更改为 h3 |
| 4 | 更改为 h4 |
| 5 | 切换到 H5 |
| 6 | 更改为 h6 |
编辑模式快捷方式
编辑模式由文本光标指示,提示你在编辑器区域中键入内容。 当单元格处于编辑模式时,可以在单元格中键入。 按 Enter 进入编辑模式,或者选择单元格的编辑器区域。 在“编辑”模式下,在单元格中看到光标提示。
使用以下击键快捷方式,可以在“编辑”模式下更轻松地在 Azure 机器学习笔记本中导航并运行代码。
| 快捷方式 | 描述 |
|---|---|
| Escape | 进入命令模式 |
| Control/Command + 空格键 | 激活 IntelliSense |
| Shift+Enter | 运行单元,选择下方单元 |
| Control/命令键 + 回车 | 运行单元格 |
| Alt + 回车键 | 运行单元,在下面插入代码单元 |
| 控制键/命令键 + Alt + 回车 | 运行单元格,在下方插入 Markdown 单元格 |
| Alt + R | 运行所有单元格 |
| 向上 | 将光标上移或移到上一个单元格 |
| 向下 | 将光标下移或移到下一个单元格 |
| 控制/命令 + S | 保存笔记本 |
| Control/Command + 向上箭头键 | 转到单元格开头 |
| Control/Command + 向下箭头键 | 转到单元格末尾 |
| 选项卡 | 代码补全或缩进(如果启用了 Tab 键陷阱) |
| Control/Command + M | 启用/禁用 Tab 陷阱 |
| Control/Command(控制/命令) + ] | 缩进 |
| 控制键/命令键 + [ | 取消缩进 |
| 控制/命令 + A | 全选 |
| 控制/命令 + Z | 撤销 |
| Ctrl/Cmd + Shift + Z | 重做 |
| 按住 Control/Command 键并按 Y | 重做 |
| Control/Command + Home(家) | 转到单元格开头 |
| Control/Command + 结束 | 转到单元格末尾 |
| Control/Command + 左方向键 | 向左移动一个单词 |
| Control/Command + 右箭头键 | 向右移动一个单词 |
| Control(控制)/Command(命令) + Backspace(退格键) | 删除前一个单词 |
| Control/Command(控制/命令键)+ Delete(删除键) | 删除后面的单词 |
| 键盘快捷键:Control/Command + / | 显示/隐藏单元格批注 |
疑难解答
连接到笔记本:如果无法连接到笔记本,请确保未禁用 WebSocket 通信。 为了让计算实例 Jupyter 功能可以正常运行,必须启用 Web 套接字通信。 确保您的网络允许 WebSocket 连接到 *.instances.ml.azure.cn 和 *.instances.ml.azure.cn。
专用终结点:在具有专用终结点的工作区中部署计算实例时,只能从虚拟网络内部访问它。 如果使用自定义 DNS 或 hosts 文件,请为 < instance-name >.< region >.instances.ml.azure.cn 添加一个条目,让该条目包含工作区专用终结点的专用 IP 地址。 有关详细信息,请参阅 自定义 DNS 一文。
内核崩溃:如果内核崩溃并重启,可运行以下命令来查看 Jupyter 日志并查找更多详细信息:
sudo journalctl -u jupyter。 如果内核问题仍然存在,请考虑使用具有更多内存的计算实例。令牌已过期:如果遇到令牌过期的问题,请注销 Azure 机器学习工作室,再重新登录,然后重启笔记本内核。
文件上传限制:通过笔记本的文件资源管理器上传文件时,限制为小于 5 TB 的文件。 如果需要上传大于此大小的文件,建议使用 SDK 将数据上传到数据存储。 有关详细信息,请参阅创建数据资产。