教程:创建用于多类图像分类的标记项目

本教程介绍如何管理在构建机器学习模型时用作数据的图像的标记过程。 Azure 机器学习中的数据标记功能目前为公共预览版。

若要训练某个机器学习模型来对图像进行分类,需要数百甚至数千个正确标记的图像。 Azure 机器学习可帮助你管理领域专家私人团队在标记你的数据时的进度。

本教程将使用猫和狗的图像。 由于每张图像要么是猫,要么是狗,因此这属于一个多类标记项目。 将了解如何执行以下操作:

  • 创建一个 Azure 存储帐户并将图像上传到该帐户。
  • 创建 Azure 机器学习工作区。
  • 创建一个多类图像标记项目。
  • 标记你的数据。 可由你或者标记人员执行此任务。
  • 检查并导出数据,以此完成项目。

先决条件

  • Azure 订阅。 如果没有 Azure 订阅,请创建一个试用帐户

创建工作区

Azure 机器学习工作区是云中的基础资源,用于试验、训练和部署机器学习模型。 它将 Azure 订阅和资源组关联到服务中一个易于使用的对象。

可以通过许多方法来创建工作区。 本教程将通过 Azure 门户创建工作区,该门户是用于管理 Azure 资源的基于 Web 的控制台。

  1. 使用 Azure 订阅的凭据登录到 Azure 门户

  2. 在 Azure 门户的左上角,选择三个横杠,然后选择“+ 创建资源”。

    Screenshot showing + Create a resource.

  3. 使用搜索栏查找“Azure 机器学习”。

  4. 选择“Azure 机器学习”。

    Screenshot shows search results to select Machine Learning.

  5. 在“机器学习”窗格中,选择“创建”以开始

  6. 提供以下信息来配置新工作区:

    字段 说明
    工作区名称 输入用于标识工作区的唯一名称。 本示例使用 docs-ws。 名称在整个资源组中必须唯一。 使用易于记忆且区别于其他人所创建工作区的名称。
    订阅 选择要使用的 Azure 订阅。
    资源组 使用订阅中的现有资源组,或者输入一个名称,创建新的资源组。 资源组保存 Azure 解决方案的相关资源。 本示例使用 docs-aml
    区域 选择离你的用户和数据资源最近的位置来创建工作区。
    存储帐户 存储帐户用作工作区的默认数据存储。 可以创建新的 Azure 存储资源或选择订阅中的现有资源。
    密钥保管库 密钥保管库用于存储工作区所需的机密和其他敏感信息。 可以创建新的 Azure Key Vault 资源或选择订阅中的现有资源。
    Application insights 工作区使用 Azure Application Insights 来存储有关已部署模型的监视信息。 可以创建新的 Azure Application Insights 资源或选择订阅中的现有资源。
    容器注册表 容器注册表用于注册在训练和部署中使用的 docker 映像。 可以选择创建资源或选择订阅中的现有资源。
  7. 完成工作区配置后,选择“查看 + 创建”。

  8. 选择“创建”以创建工作区。

    警告

    在云中创建工作区可能需要几分钟时间。

    完成创建后,会显示部署成功消息。

  9. 若要查看新工作区,请选择“转到资源”

  10. 从你的工作区的门户视图中,选择“启动工作室”以转到 Azure 机器学习工作室。

启动标记项目

接下来,在 Azure 机器学习工作室中管理数据标记项目。机器学习工作室是一个整合的界面,其中包含的机器学习工具可供各种技能水平的数据科学实践者用来执行数据科学方案。 Internet Explorer 浏览器不支持此工作室。

  1. 登录到 Azure 机器学习工作室

  2. 选择创建的订阅和工作区。

创建数据存储

Azure 机器学习数据存储用于存储连接信息,例如订阅 ID 和令牌授权。 在此处,你将使用数据存储连接到包含本教程所用图像的存储帐户。

  1. 在工作区的左侧,选择“数据存储”。

  2. 选择“+ 新建数据存储”。

  3. 在窗体中填写以下设置:

    字段 说明
    数据存储名称 为数据存储提供一个名称。 此处我们使用 labeling_tutorial。
    数据存储类型 选择存储的类型。 此处我们使用“Azure Blob 存储”,这是适用于图像的首选存储。
    帐户选择方法 选择“手动输入”。
    URL https://azureopendatastorage.blob.core.chinacloudapi.cn/openimagescontainer
    身份验证类型 选择“SAS 令牌”。
    帐户密钥 ZPlDx0bFHFEqwoy8/B/ZZg1YKi/+cIiPamOPUrRptWbvkO6d84n4loitnSMorv/AxrvE0s86cUr6rULWaSGA2A==
  4. 选择“创建”以创建数据存储。

创建标记项目

现在,你有权访问所要标记的数据,接下来请创建标记项目。

  1. 在页面顶部选择“项目”。

  2. 选择“+ 添加项目”。

    Create a project

项目详细信息

  1. 在“项目详细信息”窗体中使用以下输入:

    字段 说明
    项目名称 为你的项目命名。 此处我们使用 tutorial-cats-n-dogs。
    标记任务类型 选择“多类图像分类”。

    选择“下一步”继续创建项目。

添加工作人员(可选)

选择“下一步”继续操作。 在本教程中,你不会使用外部工作人员。

选择或创建数据集

  1. 在“选择或创建数据集”窗体中,选择第二个选项“创建数据集”,然后选择“从数据存储”链接。

  2. 在“从数据存储创建数据集”窗体中使用以下输入:

    1. 在“基本信息”窗体中添加一个名称,此处我们使用 images-for-tutorial。 添加说明(如果需要)。 然后,选择“下一步”。
    2. 在“数据存储选择”窗体上,选择“以前创建的数据存储”,然后单击数据存储名称并选中“选择数据存储” 。
    3. 在下一页上,验证当前选定的数据存储是否正确。 如果不正确,请选择“以前创建的数据存储”并重复上一步。
    4. 接下来,仍在“选择数据存储”窗体中,依次选择“浏览”、“MultiClass - DogsCats”。 选择“保存”并使用“/MultiClass - DogsCats”作为路径。
    5. 选择“下一步”来确认详细信息,然后选择“创建”以创建数据集。
    6. 在列表中选择数据集名称(例如“images-for-tutorial”)旁边的圆圈。
  3. 选择“下一步”继续创建项目。

增量刷新

如果打算将新映像添加到数据集中,增量刷新将找到这些新映像并将其添加到项目中。 启用此功能后,项目将定期检查新映像。 在本教程中,你不会将新映像添加到数据存储中,因此不要选中此功能。

选择“下一步”继续。

标签类

  1. 在“标签类”窗体中键入标签名称,然后选择“+ 添加标签”以键入下一个标签。 对于本项目,标签为“猫”、“狗”和“不确定”。

  2. 添加所有标签后,选择“下一步”。

标记说明

  1. 在“标记说明”窗体中,可以输入一个为标记人员提供详细说明的网站的链接。 对于本教程,我们将此窗体留空。

  2. 还可以直接在窗体中添加任务的简短说明。 键入“标记教程 - 猫和狗”。

  3. 选择下一步

  4. 在“ML 辅助标记”部分中,让复选框保留未选中状态。 ML 辅助标记所需的数据比在本教程中使用的数据更多。

  5. 选择“创建项目”。

此页面不会自动刷新。 片刻之后,请手动刷新页面,直到项目状态更改为“已创建”。

开始标记

你现在已设置了 Azure 资源,并已配置了数据标记项目。 接下来需要向数据添加标签。

标记图像

在本教程部分,你要将角色从“项目管理员”切换为标记人员的角色。 任何对你的工作区具有参与者访问权限的人都可以成为标记人员。

  1. 机器学习工作室中,选择左侧的“数据标记”来找到你的项目。

  2. 选择项目的“标签链接”。

  3. 阅读说明,然后选择“任务”。

  4. 选择右侧的缩略图以显示要一次性标记的图像数。 必须标记所有这些图像才能继续操作。 仅当有包含未标记数据的新页面时,才可以切换布局。 切换布局会清除页面的正在进行的标记工作。

  5. 选择一个或多个图像,然后选择要应用到所选图像的标记。 标记将显示在图像的下方。 在页面上继续选择并标记所有图像。 若要同时选择所有显示的图像,请选择“全选”。 请至少选择一个要应用标记的图像。

    提示

    可以使用键盘上的数字键选择前九个标记。

  6. 标记页面中的所有图像后,选择“提交”以提交这些标签。

    Tagging images

  7. 提交手头数据的标记后,Azure 将使用工作队列中的一组新图像刷新页面。

完成项目

现在,请将角色切换回到标记项目的“项目管理员”。

作为管理员,你可能想要审查标记人员的工作。

审查标记的数据

  1. 机器学习工作室中,选择左侧的“数据标记”来找到你的项目。

  2. 选择项目名称链接。

  3. 仪表板将显示项目的进度。

  4. 在页面顶部选择“数据”。

  5. 在左侧选择“标记的数据”以查看标记的图像。

  6. 如果你不同意使用某个标签,请选择相应的图像,然后在页面底部选择“拒绝”。 标记随即被删除,而该图像会放回到未标记图像的队列中。

导出标记的数据

随时可以导出标签数据以进行机器学习试验。 用户经常需要导出数据多次并训练不同的模型,而不是等待所有图像标记完成。

可以使用 COCO 格式导出图像标签,或将其导出为 Azure 机器学习数据集。 数据集采用的格式使得数据集可以方便地在 Azure 机器学习中用于训练。

  1. 机器学习工作室中,选择左侧的“数据标记”来找到你的项目。

  2. 选择项目名称链接。

  3. 依次选择“导出”、“作为 Azure ML 数据集导出”。

    “导出”按钮的正下方会显示导出状态。

  4. 成功导出标签后,选择左侧的“数据集”来查看结果。

清理资源

重要

已创建的资源可用作其他 Azure 机器学习教程和操作方法文章的先决条件。

如果你不打算使用已创建的任何资源,请删除它们,以免产生任何费用:

  1. 在 Azure 门户中,选择最左侧的“资源组” 。

  2. 从列表中选择你创建的资源组。

  3. 选择“删除资源组”

  4. 输入资源组名称。 然后选择“删除”。

后续步骤