杭州电子商务研究院

将 Jupyter Notebook 与 Azure 机器学习结合使用

2020-08-27 08:00飞浪

介绍

如果您是数据科学家,或者对数据科学和机器学习感兴趣,那么您应该使用 Jupyter 笔记本。在本地安装 Jupyter 笔记本并开始探索数据科学非常容易。迟早,您将需要计算能力,甚至是 GPU。您可能想与同事合作。在 Web 服务器上安装 Jupyter 笔记本也很容易,但这会带来很多安全风险。Azure 机器学习提供了一个托管环境来托管 Jupyter 笔记本,它可以解决这些问题并让您专注于数据科学。本指南将讨论使用 Python 托管、创建和使用 Jupyter 笔记本。

开始设置

要在 Azure 机器学习中托管 Jupyter 笔记本,首先需要创建一个工作区。在 Azure 门户中,在 Azure 市场中搜索“机器学习”。

配置工作区的表单相当简单。请注意工作区版本下拉菜单,其中有两个选项:Basic和Enterprise。

企业版增加了一些功能,例如生命周期管理,但也需要额外付费。按照本指南中的示例,基本版就足够了。此外,截至撰写本文时,企业版仍处于预览阶段。配置和部署工作区只需几分钟。要实际访问工作区,请转到https://ml.azure.com。在那里您可以选择要使用的工作区。

创建笔记本

在 Azure 机器学习主页上,单击Notebooks下的“立即开始”按钮或侧栏中的 Notebooks 图标。

这将打开文件资源管理器窗格。左侧有两个选项卡,我的文件和示例笔记本。在示例笔记本选项卡中,有许多预制的笔记本可供您克隆和试验。

克隆的路径将显示在“我的文件”选项卡中,您还可以在其中管理笔记本,包括创建新笔记本。

这将打开一个对话框,让您输入文件名并选择文件类型,可以是笔记本或文本。

笔记本将在新的文件资源管理器选项卡中创建并打开。请注意,系统会显示一条警报,提示笔记本未连接到计算实例。

不会自动为新笔记本配置计算资源。Azure 机器学习有一个管理系统,可让您控制计算资源的配置和使用方式。它的工作原理如下。

管理计算资源

在 Azure 机器学习上运行 Jupyter 笔记本之前,必须创建计算资源。这些是付费资源(除非您正在免费试用),定价可在此处找到。要创建计算资源,请单击侧栏中的计算图标。

有不同类型的计算资源。对于 Jupyter 笔记本,您只需要一个计算实例。要配置新的计算实例,请按蓝色的“创建”按钮。

这将打开一个面板来配置计算实例。请注意,计算实例必须与 Azure 机器学习工作区位于同一区域。如果您有一个需要 GPU 的项目(例如深度学习工作流),请将虚拟机类型下拉菜单更改为GPU。此示例只需要 CPU。然后您可以选择虚拟机大小。

选择大小后(本示例使用默认选择 Standard_DS3_v2),单击底部的“创建”以配置计算实例。计算实例选项卡将更新以显示进度。

创建新的计算资源可能需要几分钟。状态变为Running后,您可以使用Application URI下的链接在 JupyterLab、Jupyter 或 RStudio 中打开新环境。

将 Jupyter Notebooks 与 Compute 结合使用

返回之前创建的 Jupyter 笔记本,请注意计算下拉列表已自动填充上一节中创建的正在运行的计算实例。如果有多个可用的计算实例,下拉列表将显示它们的列表。

还请注意右侧的下拉菜单。这是笔记本使用的内核。如果打开它,选项是 Python 和 R。同样,此演示将使用 Python。

现在,您可以像使用任何其他 Jupyter 笔记本服务器一样开始使用该笔记本。在单元格中输入代码,然后按Shift-Enter执行该单元格。

尽管界面看起来不同,但它仍然是 Jupyter 笔记本,许多相同的键盘快捷键都可以使用。此外,您可以通过单击Compute旁边的下拉菜单中的Edit in JupyterLab 在 JupyterLab 中打开笔记本。

最后,您可以通过单击笔记本工具栏中的打开终端按钮在新选项卡中打开终端。

在笔记本中工作的过程中,您可能会生成数据文件。在此示例中,鸢尾花数据集已使用以下代码保存为 JSON:

      import json

with open('data.json', 'w') as data:
    data.write(json.dumps(list(zip(features.tolist(), targets.tolist()))))
    

生成的data.json文件将显示在“我的文件”选项卡中。要下载文件(或任何其他文件,如笔记本、生成的图像)​​,请将鼠标悬停在文件名上,然后单击右侧出现的三个点。从菜单中选择“下载” 。

为了降低成本,您应该在不使用计算实例时将其停止或删除。返回计算页面,选择要管理的计算实例。然后单击停止或删除按钮。

或者,您可以在 Azure 门户中删除整个工作区。这也可以防止您因未使用的资源而被收费。

结论

如果您需要 Jupyter 笔记本的托管解决方案,请考虑 Azure 机器学习。Azure 不仅承担安全责任,您还可以在包括 GPU 在内的各种硬件上运行笔记本。并且,您可以通过停止不使用的实例来节省成本。您可以为 Python 或 R 语言创建笔记本,甚至可以使用 JupyterLab 等高级工具。您也不会牺牲灵活性 - Jupyter 笔记本的相同键盘快捷键在 Azure 上仍然有效。您甚至可以将现有笔记本上传到 Azure。而且,您仍然可以访问笔记本中可能生成的数据文件。要了解有关 Jupyter 笔记本的更多信息并获取可在 Azure 上与笔记本一起使用的技巧,请查看我的 Pluralsight 课程Jupyter Notebook 和 Python 入门。感谢您的阅读!

曝光28125浏览1505