在 Azure 机器学习中提供数据

虽然数据科学家和机器学习工程师普遍使用本地文件系统上的数据,但在企业环境中,将数据存储在多个数据科学家和机器学习工程师可以访问的中心位置可能效率更高。

在本练习中,你将了解数据存储和数据集,它们是 Azure 机器学习中用于抽象数据访问权限的主要对象 。

准备工作

需要一个你在其中具有管理级权限的 Azure 订阅

预配 Azure 机器学习工作区

借助 Azure 机器学习工作区,可集中管理训练和管理模型所需的所有资源和资产。 可以通过工作室、Python SDK 和 Azure CLI 与 Azure 机器学习工作区进行交互。

你将使用 Shell 脚本,该脚本使用 Azure CLI 来预配工作区和必要的资源。 接下来,你将使用 Azure 机器学习工作室中的设计器来训练和比较模型。

创建工作区和计算资源

若要创建 Azure 机器学习工作区和计算资源,可使用 Azure CLI。 所有必需的命令都被分组到一个 Shell 脚本中,以便于执行。

  1. 在浏览器中,打开 Azure 门户 (https://portal.azure.com/),并登录 Microsoft 帐户。
  2. 选择页面顶部搜索框右侧的 [>_] (Cloud Shell) 按钮。 这会打开门户底部的 Cloud Shell 窗格。
  3. 如果系统询问,请选择“Bash”。 首次打开 Cloud Shell 时,系统可能会要求你选择要使用的 shell 类型(Bash 或 PowerShell) 。
  4. 如果系统要求你为 Cloud Shell 创建存储,请确认已指定正确的订阅,然后选择“创建存储”。 等待存储创建完成。
  5. 在终端输入以下命令以克隆此存储库:

     rm -r azure-ml-labs -f
     git clone https://github.com/MicrosoftLearning/mslearn-azure-ml.git azure-ml-labs
    

    使用 SHIFT + INSERT 将复制的代码粘贴到 Cloud Shell 中。

  6. 克隆存储库后,输入以下命令以更改为此实验室的文件夹,然后运行其中包含的 setup.ps1 脚本:

     cd azure-ml-labs/Labs/03
     ./setup.sh
    

    忽略任何指示扩展未安装的(错误)消息。

  7. 等待脚本完成 - 这通常需要大约 5-10 分钟。

浏览默认数据存储

创建 Azure 机器学习工作区时,存储帐户会自动创建并连接到工作区。 你将了解存储帐户的连接方式。

  1. 在 Azure 门户中,导航到名为“rg-dp100-…”的新资源组。
  2. 在该资源组中选择存储帐户。 名称通常以你为工作区提供的名称开头(没有连字符)。
  3. 查看存储帐户的“概述”页。 请注意,存储帐户的“数据存储”具有多个选项,如“概述”窗格和左侧菜单中所示。
  4. 选择“容器”以浏览存储帐户的 Blob 存储部分。
  5. 请注意 azureml-blobstore-… 容器。 数据资产的默认数据存储使用此容器来存储数据。
  6. 使用屏幕顶部的“+ 容器”按钮,创建一个新容器并将其命名为 training-data
  7. 从左侧菜单中选择“文件共享”,浏览存储帐户的“文件共享”部分。
  8. 注意“code-…”文件共享。 工作区中的任何笔记本都存储在此处。 克隆实验室材料后,可以在 code-…/Users/your-user-name/azure-ml-labs 文件夹中找到此文件共享中的文件。

复制访问密钥

若要在 Azure 机器学习工作区中创建数据存储,需要提供一些凭据。 为工作区提供对 Blob 存储的访问权限的一种简单方法是使用帐户密钥。

  1. 在“存储帐户”中,从左侧菜单中选择“访问密钥”选项卡。
  2. 请注意,提供了两个密钥:key1 和 key2。 每个密钥都具有相同的功能。
  3. 为 key1 下的“密钥”字段选择“显示” 。
  4. 将“密钥”字段的值复制到记事本。 稍后需要将此值粘贴到笔记本中。
  5. 从页面顶部复制存储帐户的名称。 名称应以 mlwdp100storage… 开头,稍后还需要将此值粘贴到笔记本中。

注意:将帐户密钥和名称复制到记事本,以避免自动大写(发生在 Word 中)。 密钥区分大小写。

克隆实验室材料

若要使用 Python SDK 创建数据存储和数据资产,需要将实验室材料克隆到工作区中。

  1. 在 Azure 门户,导航到名为 mlw-dp100-labs 的 Azure 机器学习工作区。
  2. 选择 Azure 机器学习工作区,并在其“概述”页中选择“启动工作室” 。 将在浏览器中打开另一标签页,以打开 Azure 机器学习工作室。
  3. 关闭工作室中显示的弹出窗口。
  4. 在 Azure 机器学习工作室中,导航到“计算”页,并验证在上一部分中创建的计算实例和群集是否存在。 计算实例应正在运行,群集应处于空闲状态,且运行中的节点数为 0。
  5. 在“计算实例”选项卡中,找到计算实例,然后选择“终端”应用程序 。
  6. 在终端中,通过在终端中运行以下命令,在计算实例上安装 Python SDK:

     pip uninstall azure-ai-ml
     pip install azure-ai-ml
     pip install mltable
    

    忽略任何指示包未安装的(错误)消息。

  7. 运行以下命令,将包含笔记本、数据和其他文件的 Git 存储库克隆到工作区:

     git clone https://github.com/MicrosoftLearning/mslearn-azure-ml.git azure-ml-labs
    
  8. 命令完成后,在“文件”窗格中,单击 ↻ 来刷新视图,并验证是否已创建新的 /users/your-user-name/azure-ml-labs 文件夹 。

(可选)在另一个浏览器选项卡中,导航到 Azure 门户。 再次在存储帐户中浏览文件共享“code-…”以在新创建的“azure-ml-labs”文件夹中查找克隆的实验室材料 。

创建数据存储和数据资产

笔记本中提供了使用 Python SDK 创建数据存储和数据资产的代码。

  1. 打开 Labs/03/Work with data.ipynb 笔记本。

    选择“身份验证”,如果出现要求进行身份验证的通知,请执行必要的步骤。

  2. 验证笔记本是否使用“Python 3.8 - AzureML”内核。
  3. 运行笔记本中的所有单元格。

可选:浏览数据资产

(可选)可以了解如何将数据资产存储在相关的存储帐户中。

  1. 导航到 Azure 机器学习工作室中的“数据”选项卡以浏览数据资产。
  2. 选择“diabetes-local”数据资产名称以浏览其详细信息。

    在“diabetes-local”数据资产的“数据源”下,你将找到文件上传到的位置 。 以 LocalUpload/… 开头的路径显示存储帐户容器 azureml-blobstore-… 中的路径。可以通过导航到 Azure 门户中的该路径来验证文件是否存在 。

删除 Azure 资源

当你完成对 Azure 机器学习的探索时,应删除已创建的资源,以避免产生不必要的 Azure 成本。

  1. 关闭“Azure 机器学习工作室”选项卡并返回到 Azure 门户。
  2. 在 Azure 门户的主页上,选择“资源组”。
  3. 选择“rg-dp100-…”资源组。
  4. 在资源组的“概述”页的顶部,选择“删除资源组”。
  5. 输入资源组名称以确认要删除该资源组,然后选择“删除”。