arrow_back

在 Google Cloud 上使用 TensorFlow 进行图片分类:实验室挑战赛

登录 加入
欢迎加入我们的社区,一起测试和分享您的知识!
done
学习 700 多个动手实验和课程并获得相关技能徽章

在 Google Cloud 上使用 TensorFlow 进行图片分类:实验室挑战赛

实验 1 小时 30 分钟 universal_currency_alt 5 个积分 show_chart 中级
info 此实验可能会提供 AI 工具来支持您学习。
欢迎加入我们的社区,一起测试和分享您的知识!
done
学习 700 多个动手实验和课程并获得相关技能徽章

GSP398

Google Cloud 自定进度实验

概览

在实验室挑战赛中,我们会为您提供一个场景和一系列任务。您将使用从课程的各个实验中学到的技能自行确定如何完成这些任务,而不是按照分步说明进行操作。自动评分系统(显示在本页面中)会提供有关您是否已正确完成任务的反馈。

在您参加实验室挑战赛期间,我们不会再教授新的 Google Cloud 概念知识。您需要拓展所学的技能,例如通过更改默认值和查看并研究错误消息来更正您自己所犯的错误。

要想获得满分,您必须在该时间段内成功完成所有任务!

我们建议已报名参加开始在 Google Cloud 上使用 TensorFlow 技能徽章课程的学员参加此实验室挑战赛。准备好接受挑战了吗?

测试的主题:

  • 编写一个脚本来训练 CNN 图片分类模型,并将经过训练的模型保存到指定目录。
  • 使用 Vertex AI 自定义训练作业运行训练脚本。
  • 将经过训练的模型部署到 Vertex 在线预测端点以生成预测。
  • 请求进行在线预测并查看收到的响应。

设置和要求

点击“开始实验”按钮前的注意事项

请阅读以下说明。实验是计时的,并且您无法暂停实验。计时器在您点击开始实验后即开始计时,显示 Google Cloud 资源可供您使用多长时间。

此实操实验可让您在真实的云环境中开展实验活动,免受模拟或演示环境的局限。我们会为您提供新的临时凭据,让您可以在实验规定的时间内用来登录和访问 Google Cloud。

为完成此实验,您需要:

  • 能够使用标准的互联网浏览器(建议使用 Chrome 浏览器)。
注意:请使用无痕模式或无痕浏览器窗口运行此实验。这可以避免您的个人账号与学生账号之间发生冲突,这种冲突可能导致您的个人账号产生额外费用。
  • 完成实验的时间 - 请注意,实验开始后无法暂停。
注意:如果您已有自己的个人 Google Cloud 账号或项目,请不要在此实验中使用,以避免您的账号产生额外的费用。

如何开始实验并登录 Google Cloud 控制台

  1. 点击开始实验按钮。如果该实验需要付费,系统会打开一个弹出式窗口供您选择付款方式。左侧是实验详细信息面板,其中包含以下各项:

    • 打开 Google Cloud 控制台按钮
    • 剩余时间
    • 进行该实验时必须使用的临时凭据
    • 帮助您逐步完成本实验所需的其他信息(如果需要)
  2. 点击打开 Google Cloud 控制台(如果您使用的是 Chrome 浏览器,请右键点击并选择在无痕式窗口中打开链接)。

    该实验会启动资源并打开另一个标签页,显示登录页面。

    提示:请将这些标签页安排在不同的窗口中,并将它们并排显示。

    注意:如果您看见选择账号对话框,请点击使用其他账号
  3. 如有必要,请复制下方的用户名,然后将其粘贴到登录对话框中。

    {{{user_0.username | "<用户名>"}}}

    您也可以在实验详细信息面板中找到用户名

  4. 点击下一步

  5. 复制下面的密码,然后将其粘贴到欢迎对话框中。

    {{{user_0.password | "<密码>"}}}

    您也可以在实验详细信息面板中找到密码

  6. 点击下一步

    重要提示:您必须使用实验提供的凭据。请勿使用您的 Google Cloud 账号凭据。 注意:在本次实验中使用您自己的 Google Cloud 账号可能会产生额外费用。
  7. 继续在后续页面中点击以完成相应操作:

    • 接受条款及条件。
    • 由于该账号为临时账号,请勿添加账号恢复选项或双重验证。
    • 请勿注册免费试用。

片刻之后,系统会在此标签页中打开 Google Cloud 控制台。

注意:如需查看列有 Google Cloud 产品和服务的菜单,请点击左上角的导航菜单导航菜单图标

激活 Cloud Shell

Cloud Shell 是一种装有开发者工具的虚拟机。它提供了一个永久性的 5GB 主目录,并且在 Google Cloud 上运行。Cloud Shell 提供可用于访问您的 Google Cloud 资源的命令行工具。

  1. 点击 Google Cloud 控制台顶部的激活 Cloud Shell “激活 Cloud Shell”图标

如果您连接成功,即表示您已通过身份验证,且当前项目会被设为您的 PROJECT_ID 环境变量所指的项目。输出内容中有一行说明了此会话的 PROJECT_ID

Your Cloud Platform project in this session is set to YOUR_PROJECT_ID

gcloud 是 Google Cloud 的命令行工具。它已预先安装在 Cloud Shell 上,且支持 Tab 自动补全功能。

  1. (可选)您可以通过此命令列出活跃账号名称:
gcloud auth list
  1. 点击授权

  2. 现在,输出的内容应如下所示:

输出:

ACTIVE: * ACCOUNT: student-01-xxxxxxxxxxxx@qwiklabs.net To set the active account, run: $ gcloud config set account `ACCOUNT`
  1. (可选)您可以通过此命令列出项目 ID:
gcloud config list project

输出

[core] project = <project_ID>

输出示例

[core] project = qwiklabs-gcp-44776a13dea667a6 Note: For full documentation of gcloud, in Google Cloud, refer to the gcloud CLI overview guide.

启用 Google Cloud 服务

  1. 在 Cloud Shell 中,使用 gcloud 启用实验中要用到的服务
gcloud services enable \ compute.googleapis.com \ monitoring.googleapis.com \ logging.googleapis.com \ notebooks.googleapis.com \ aiplatform.googleapis.com \ artifactregistry.googleapis.com \ container.googleapis.com

在这之后,您将能够使用 Vertex AI 运行模型训练、部署和解释作业。

点击“检查我的进度”,验证是否完成了以下目标: 启用 Google Cloud 服务

挑战场景

您最近受聘为某光学字符识别应用开发团队的机器学习工程师。经理为您安排了任务,要求您构建一个机器学习模型来识别平假名字母。面临的挑战是:根据公司要求,您必须在 6 周内构建一个准确率超过 90% 的模型,以改进公司现有的自研解决方案。不仅如此,在对该初创公司的数据仓库进行一定的探索性分析后,您发现只有一个由 6 万张字母图片构成的小型数据集,而您必须使用这个数据集构建一个性能更高的解决方案。

为了在数据有限的情况下快速构建和部署高性能机器学习模型,您将需要在 Google Cloud 的 Vertex AI 平台上训练并部署一个 CNN 分类器以进行在线预测。Vertex AI 是 Google Cloud 的新一代机器学习开发平台。在该平台中,您可以利用预构建的最新机器学习组件显著提高开发效率、增强利用数据扩缩工作流和进行决策的能力,并缩短实现价值的时间。

cnn-challenge-lab.png

首先,您将完成一个常规实验工作流。在此工作流中,您将编写一个脚本,以使用 tf.keras 分类层来训练您的自定义 CNN 模型。然后,您需要将模型代码发送到一个自定义训练作业,并使用 Vertex AI 提供的预构建 Docker 容器运行这个自定义训练作业以进行训练和预测。最后,您需要将模型部署到一个端点,以便可以使用模型生成预测。

任务 1. 创建 Vertex 笔记本实例

  1. 前往 Vertex AI > Workbench > 用户管理的笔记本

  2. 创建一个笔记本实例。选择 TensorFlow 企业版 2.11(不带 GPU)。将笔记本命名为 cnn-challenge,并保留默认配置。

  3. 选择区域 和可用区

  4. 点击预配置的 Vertex 笔记本实例名称旁边的打开 JupyterLab打开 JupyterLab 选项可能需要几分钟时间才会显示。

点击“检查我的进度”,验证是否完成了以下目标: 创建 Vertex AI 笔记本实例

任务 2. 下载名为 challenge 的笔记本

  1. 在笔记本中,点击终端

  2. 克隆代码库:

git clone https://github.com/GoogleCloudPlatform/training-data-analyst

点击“检查我的进度”,验证是否完成了以下目标: 下载名为 challenge 的笔记本

  1. 前往所属文件夹:training-data-analyst/self-paced-labs/learning-tensorflow/cnn-challenge-lab/

  2. 打开笔记本文件 cnn-challenge-lab.ipynb

  3. 设置部分,定义 PROJECT_IDGCS_BUCKET 变量。

点击“检查我的进度”,验证是否完成了以下目标: 创建 Cloud Storage 存储桶

任务 3. 创建训练脚本

在此部分,您将使用 TensorFlow 完成训练脚本 task.py

编写一个 TensorFlow CNN 分类器

  1. 填写 #TODO 部分,以添加模型创建所需的最后一层。

  2. 填写 #TODO 部分,以保存模型。您应该将模型保存到通过 AIP_MODEL_DIR 环境变量指定的目录中。

点击“检查我的进度”,验证是否完成了以下目标: 创建训练脚本

任务 4. 训练模型

在 Vertex AI 上定义自定义训练作业

  1. 填写 #TODO 部分,以在 Vertex AI 上创建一个自定义训练作业。您可以在此处找到相关文档。
提示:请务必指定 script_pathcontainer_urimodel_serving_container_image_uri 参数。

使用 Vertex AI Pipelines 训练模型

  1. 填写 #TODO 部分,并运行您在前面定义的自定义训练作业函数。您可以在此处找到相关文档。
提示:请务必指定 argsmachine_type 参数。 注意:训练模型大约需要 8 到 10 分钟。

点击“检查我的进度”,验证是否完成了以下目标: 在 Vertex AI 上训练模型

任务 5. 将模型部署到 Vertex 在线预测端点

  1. 填写 #TODO 部分,以将模型部署到端点。您可以在此处找到相关文档。
提示:请务必指定 traffic_splitmachine_typemin_replica_countmax_replica_count 参数。 注意:部署模型大约需要 10 到 15 分钟。

点击“检查我的进度”,验证是否完成了以下目标: 部署模型

任务 6. 在 Vertex 在线预测端点上查询已部署的模型

  1. 填写 #TODO 部分,以使用 Vertex 端点生成在线预测。您可以在此处找到相关文档。
已成功完成端点查询

恭喜!

您已完成使用 Vertex AI 在 Google Cloud 上训练和部署模型的工作流。首先,您在 Vertex 笔记本中编写了一个脚本,用于构建、训练和评估基于卷积神经网络的图片分类模型。然后,您使用在 Google Cloud Vertex AI 上创建的自定义训练作业运行脚本以训练模型。最后,您将模型容器部署到一个 Vertex 端点,并查询该端点以生成在线预测。

在 Google Cloud 上使用 TensorFlow 进行图片分类

Google Cloud 培训和认证

…可帮助您充分利用 Google Cloud 技术。我们的课程会讲解各项技能与最佳实践,可帮助您迅速上手使用并继续学习更深入的知识。我们提供从基础到高级的全方位培训,并有点播、直播和虚拟三种方式选择,让您可以按照自己的日程安排学习时间。各项认证可以帮助您核实并证明您在 Google Cloud 技术方面的技能与专业知识。

上次更新手册的时间:2024 年 5 月 3 日

上次测试实验的时间:2024 年 4 月 19 日

版权所有 2024 Google LLC 保留所有权利。Google 和 Google 徽标是 Google LLC 的商标。其他所有公司名和产品名可能是其各自相关公司的商标。

此内容目前不可用

一旦可用,我们会通过电子邮件告知您

太好了!

一旦可用,我们会通过电子邮件告知您