使用 AutoML Vision 为图片加标签

本快速入门将引导您完成以下过程:

  • 将一组图片复制到 Cloud Storage 中。
  • 创建一个列有图片及其分类标签的 CSV 文件。
  • 使用 AutoML Vision 创建数据集,并训练和部署模型。
  • 使用通过自定义标签训练的模型对图片进行分类。

准备工作

设置项目

  1. 登录您的 Google Cloud 账号。如果您是 Google Cloud 新手,请创建一个账号来评估我们的产品在实际场景中的表现。新客户还可获享 $300 赠金,用于运行、测试和部署工作负载。
  2. 安装 Google Cloud CLI。
  3. 如需初始化 gcloud CLI,请运行以下命令:

    gcloud init
  4. 创建或选择 Google Cloud 项目

    • 创建 Google Cloud 项目:

      gcloud projects create PROJECT_ID

      PROJECT_ID 替换为您要创建的 Google Cloud 项目的名称。

    • 选择您创建的 Google Cloud 项目:

      gcloud config set project PROJECT_ID

      PROJECT_ID 替换为您的 Google Cloud 项目 名称。

  5. 确保您的 Google Cloud 项目已启用结算功能

  6. Enable the AutoML and Cloud Storage APIs:

    gcloud services enable storage-component.googleapis.com automl.googleapis.com storage-api.googleapis.com
  7. 安装 Google Cloud CLI。
  8. 如需初始化 gcloud CLI,请运行以下命令:

    gcloud init
  9. 创建或选择 Google Cloud 项目

    • 创建 Google Cloud 项目:

      gcloud projects create PROJECT_ID

      PROJECT_ID 替换为您要创建的 Google Cloud 项目的名称。

    • 选择您创建的 Google Cloud 项目:

      gcloud config set project PROJECT_ID

      PROJECT_ID 替换为您的 Google Cloud 项目 名称。

  10. 确保您的 Google Cloud 项目已启用结算功能

  11. Enable the AutoML and Cloud Storage APIs:

    gcloud services enable storage-component.googleapis.com automl.googleapis.com storage-api.googleapis.com
  12. PROJECT_ID 环境变量设置为项目 ID
    export PROJECT_ID=PROJECT_ID
    AutoML API 调用和资源名称中包含您的项目 ID。PROJECT_ID 环境变量提供了一种指定此 ID 的便捷方式。

创建 Cloud Storage 存储桶

使用 Cloud Shell(一个连接到 Google Cloud 控制台项目的基于浏览器的 Linux 命令行)创建 Cloud Storage 存储桶:

  1. 打开 Cloud Shell

  2. 创建 Cloud Storage 存储分区。 存储分区名称必须采用以下格式: project-id-vcm.

    以下命令将在 us-central1 地区中创建一个名为 project-id-vcm 的存储桶。 如需查看可用区域的完整列表,请参阅“存储桶位置”页面

    gsutil mb -p ${PROJECT_ID} -c regional -l us-central1 gs://${PROJECT_ID}-vcm/

  3. 设置 BUCKET 变量。

    export BUCKET=${PROJECT_ID}-vcm

将示例图片复制到存储桶中

接下来,复制此 Tensorflow 博文中使用的花卉数据集。 这些图片存储在公共 Cloud Storage 存储桶中,因此您可以直接将它们从该公共存储桶复制到自己的存储桶。

  1. 在 Cloud Shell 会话中,输入以下内容:

    gsutil -m cp -R gs://cloud-samples-data/ai-platform/flowers/ gs://${BUCKET}/img/
    

    文件复制操作需要大约 20 分钟才能完成。

创建图片分类 CSV 文件

样本数据集包含一个 CSV 文件,其中包含每张图片的位置和标签。您将基于这一文件创建您自己的 CSV 文件:

  1. 更新 CSV 文件,使其指向您自己的存储桶中的文件:

    gsutil cat gs://${BUCKET}/img/flowers/all_data.csv | sed "s:cloud-ml-data/img/flower_photos/:${BUCKET}/img/flowers/:" > all_data.csv
    
  2. 将 CSV 文件复制到您的存储桶中:

    gsutil cp all_data.csv gs://${BUCKET}/csv/
    

创建图片分类数据集

访问 AutoML Vision 界面,开始创建数据集并训练模型。

收到提示时,请务必选择用于您的 Cloud Storage 存储桶的项目。

  1. 在 AutoML Vision 页面中,点击新建数据集

    控制台中的“新建数据集”按钮

  2. 为此数据集指定名称。点击加号 (+) 继续。

    新数据集名称字段

  3. 选择要导入的文件屏幕中,选择选择 Cloud Storage 上的 CSV 文件单选选项。指定 CSV 文件的 Cloud Storage URI。在本快速入门中,CSV 文件的位置为:

    • gs://${PROJECT_ID}-vcm/csv/all_data.csv

    PROJECT_ID 替换为您的特定项目 ID。

    选择文件导入窗口

  4. 点击继续以开始导入图片。导入过程需要几分钟时间。完成后,您将会被引导至下一页面,其中包含为数据集识别出的所有图片(包括已添加标签和未添加标签的图片)的详细信息。

    导入完成后列出的图片

训练云托管 AutoML Vision 模型

  1. 创建数据集并完成相应处理后,选择训练标签页可开始训练模型。

    选择“训练”标签页

  2. 选择开始训练以继续。这将打开一个训练新模型窗口,其中包含训练选项。

  3. 在新模型训练窗口的定义模型部分中,更改模型名称(可选)并选择云托管模型单选选项。选择继续以转到下一部分。

    定义要训练的模型部分

  4. 设置节点时预算部分中,接受建议的节点预算(32 个节点时)。

    训练 Edge 模型

  5. 选择开始训练以开始训练模型。

    系统将针对您的模型开始训练,训练时间大约为一小时。 训练可能会在达到您选择的节点时之前停止。该服务将在训练完成后或发生任何错误时通过电子邮件通知您。

部署 AutoML Vision 分类模型

成功训练自定义模型后,您可以使用它来为图片添加标签。 选择测试和使用标签页。

如果您没有选择启用自动部署,则系统会提示您先部署模型,然后才能进行预测。

使用 AutoML Vision 模型给图片加标签

点击预测标签页,了解如何将图片发送到模型以获取图片内容标签。您还可以参阅进行在线预测进行批量预测以查看示例。

清理

为避免因本页面中使用的资源导致您的 Google Cloud 账号产生费用,请删除包含这些资源的 Google Cloud 项目。

如果您不再需要您的自定义模型或数据集,可以将其删除。

为避免产生不必要的 Google Cloud Platform 费用,请使用 GCP Console 删除您不需要的项目。

取消部署模型

模型部署后即会产生费用。

  1. 选择标题栏正下方的测试和使用标签页。
  2. 从模型名称下方的横幅中选择移除部署,以打开取消部署选项窗口。

    取消部署弹出式菜单

  3. 选择移除部署以取消部署模型。

    模型部署

  4. 模型取消部署完成后,您会收到电子邮件通知。

删除项目(可选)

为避免产生不必要的 Google Cloud Platform 费用,请使用 Google Cloud 控制台删除您不需要的项目。

后续步骤