arrow_back

Classify Images with TensorFlow on Google Cloud: チャレンジラボ

ログイン 参加
知識をテストして、コミュニティで共有しましょう
done
700 を超えるハンズオンラボ、スキルバッジ、コースへのアクセス

Classify Images with TensorFlow on Google Cloud: チャレンジラボ

ラボ 1時間 30分 universal_currency_alt クレジット: 5 show_chart 中級
info このラボでは、学習をサポートする AI ツールが組み込まれている場合があります。
知識をテストして、コミュニティで共有しましょう
done
700 を超えるハンズオンラボ、スキルバッジ、コースへのアクセス

GSP398

Google Cloud セルフペース ラボ

概要

チャレンジラボでは、シナリオと一連のタスクが提供されます。手順ガイドに沿って進める形式ではなく、コース内のラボで習得したスキルを駆使して、ご自身でタスクを完了していただきます。タスクが適切に完了したかどうかは、このページに表示される自動スコアリング システムで確認できます。

チャレンジラボは、Google Cloud の新しいコンセプトについて学習するためのものではありません。デフォルト値を変更する、エラー メッセージを読み調査を行ってミスを修正するなど、習得したスキルを応用する能力が求められます。

100% のスコアを達成するには、制限時間内に全タスクを完了する必要があります。

このラボは、「Classify Images with TensorFlow on Google Cloud」スキルバッジ コースに登録している受講者を対象としています。準備が整ったらチャレンジを開始しましょう。

テスト対象トピック:

  • 画像分類用の CNN をトレーニングし、トレーニング済みのモデルを指定ディレクトリに保存するスクリプトを作成する。
  • Vertex AI のカスタム トレーニング ジョブを使用して、トレーニング スクリプトを実行する。
  • 予測を行う Vertex オンライン予測エンドポイントに、トレーニング済みのモデルをデプロイする。
  • オンライン予測をリクエストし、レスポンスを確認する。

設定と要件

[ラボを開始] ボタンをクリックする前に

こちらの手順をお読みください。ラボの時間は記録されており、一時停止することはできません。[ラボを開始] をクリックするとスタートするタイマーは、Google Cloud のリソースを利用できる時間を示しています。

このハンズオンラボでは、シミュレーションやデモ環境ではなく、実際のクラウド環境を使ってご自身でラボのアクティビティを行うことができます。そのため、ラボの受講中に Google Cloud にログインおよびアクセスするための、新しい一時的な認証情報が提供されます。

このラボを完了するためには、下記が必要です。

  • 標準的なインターネット ブラウザ(Chrome を推奨)
注: このラボの実行には、シークレット モードまたはシークレット ブラウジング ウィンドウを使用してください。これにより、個人アカウントと受講者アカウント間の競合を防ぎ、個人アカウントに追加料金が発生することを防ぎます。
  • ラボを完了するために十分な時間を確保してください。ラボをいったん開始すると一時停止することはできません。
注: すでに個人の Google Cloud アカウントやプロジェクトをお持ちの場合でも、このラボでは使用しないでください。アカウントへの追加料金が発生する可能性があります。

ラボを開始して Google Cloud コンソールにログインする方法

  1. [ラボを開始] ボタンをクリックします。ラボの料金をお支払いいただく必要がある場合は、表示されるポップアップでお支払い方法を選択してください。 左側の [ラボの詳細] パネルには、以下が表示されます。

    • [Google Cloud コンソールを開く] ボタン
    • 残り時間
    • このラボで使用する必要がある一時的な認証情報
    • このラボを行うために必要なその他の情報(ある場合)
  2. [Google Cloud コンソールを開く] をクリックします(Chrome ブラウザを使用している場合は、右クリックして [シークレット ウィンドウでリンクを開く] を選択します)。

    ラボでリソースが起動し、別のタブで [ログイン] ページが表示されます。

    ヒント: タブをそれぞれ別のウィンドウで開き、並べて表示しておきましょう。

    注: [アカウントの選択] ダイアログが表示されたら、[別のアカウントを使用] をクリックします。
  3. 必要に応じて、下のユーザー名をコピーして、[ログイン] ダイアログに貼り付けます。

    {{{user_0.username | "Username"}}}

    [ラボの詳細] パネルでも [ユーザー名] を確認できます。

  4. [次へ] をクリックします。

  5. 以下のパスワードをコピーして、[ようこそ] ダイアログに貼り付けます。

    {{{user_0.password | "Password"}}}

    [ラボの詳細] パネルでも [パスワード] を確認できます。

  6. [次へ] をクリックします。

    重要: ラボで提供された認証情報を使用する必要があります。Google Cloud アカウントの認証情報は使用しないでください。 注: このラボでご自身の Google Cloud アカウントを使用すると、追加料金が発生する場合があります。
  7. その後次のように進みます。

    • 利用規約に同意してください。
    • 一時的なアカウントなので、復元オプションや 2 要素認証プロセスは設定しないでください。
    • 無料トライアルには登録しないでください。

その後、このタブで Google Cloud コンソールが開きます。

注: Google Cloud のプロダクトやサービスのリストを含むメニューを表示するには、左上のナビゲーション メニューをクリックします。ナビゲーション メニュー アイコン

Cloud Shell をアクティブにする

Cloud Shell は、開発ツールと一緒に読み込まれる仮想マシンです。5 GB の永続ホーム ディレクトリが用意されており、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 にプリインストールされており、タブ補完がサポートされています。

  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 注: Google Cloud における gcloud ドキュメントの全文については、gcloud CLI の概要ガイドをご覧ください。

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 のサービスを有効にする

チャレンジ シナリオ

あなたは最近、光学式文字認識アプリを開発するチームの ML エンジニアとして採用されました。上司から、ひらがなを認識するための ML モデルを構築するよう指示されました。課題となるビジネス上の要件は、既存の独自ソリューションの改良として、90% を超える精度のモデルを 6 週間以内に構築することです。また、会社のデータ ウェアハウスで探索的分析を行った結果、この高性能なソリューションの構築に利用できるのは、6 万枚の文字画像から成る小さなデータセットのみであることがわかりました。

高いパフォーマンスの ML モデルを限られたデータからすばやく構築してデプロイするために、あなたは、Google Cloud の Vertex AI プラットフォームでオンライン予測を行えるよう、CNN 分類器をトレーニングしてデプロイするプロセスを学習します。Vertex AI は Google Cloud の次世代の ML 開発プラットフォームであり、最新の事前構築済み ML コンポーネントを活用しながら、開発の生産性を高め、データを使ってワークフローや意思決定をスケーリングし、価値実現までの時間を短縮することができます。

cnn-challenge-lab.png

最初に、よく利用される試験的ワークフローとして、tf.keras 分類レイヤを使用してカスタム CNN モデルをトレーニングするスクリプトを作成します。次に、モデルのコードをカスタム トレーニング ジョブに送信し、Vertex AI で提供されている事前構築済みの Docker コンテナを使用してカスタム トレーニング ジョブを実行することにより、トレーニングと予測を行います。最後に、モデルを予測に使用できるよう、エンドポイントにデプロイします。

タスク 1. Vertex ノートブック インスタンスを作成する

  1. [Vertex AI] > [ワークベンチ] > [ユーザー管理のノートブック] に移動します。

  2. ノートブック インスタンスを作成します。[TensorFlow Enterprise 2.11](GPU なし)を選択します。ノートブックに cnn-challenge という名前を付け、その他の構成はデフォルトのままにします。

  3. リージョン を選択し、ゾーンには を選択します。

  4. プロビジョニング済みの Vertex ノートブック インスタンスの名前の横にある [JupyterLab を開く] をクリックします。[JupyterLab を開く] オプションが表示されるまでに数分かかることがあります。

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。Vertex AI ノートブック インスタンスを作成する

タスク 2. Challenge Notebook をダウンロードする

  1. ノートブックで [ターミナル] をクリックします。

  2. リポジトリのクローンを作成します。

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

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。Challenge Notebook をダウンロードする

  1. ファイルが含まれる training-data-analyst/self-paced-labs/learning-tensorflow/cnn-challenge-lab/ フォルダに移動します。

  2. ノートブック ファイル cnn-challenge-lab.ipynb を開きます。

  3. [設定] セクションで、PROJECT_ID 変数と GCS_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 パイプラインを使用してモデルをトレーニングする

  1. #TODO セクションに、上で定義したカスタム トレーニング ジョブの関数を実行するコードを記入します。こちらでドキュメントをご覧ください。
ヒント: args パラメータと machine_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 エンドポイントにデプロイして、オンライン予測のためのクエリを実行しました。

Classify Images with TensorFlow on Google Cloud

Google Cloud トレーニングと認定資格

Google Cloud トレーニングと認定資格を通して、Google Cloud 技術を最大限に活用できるようになります。必要な技術スキルとベスト プラクティスについて取り扱うクラスでは、学習を継続的に進めることができます。トレーニングは基礎レベルから上級レベルまであり、オンデマンド、ライブ、バーチャル参加など、多忙なスケジュールにも対応できるオプションが用意されています。認定資格を取得することで、Google Cloud テクノロジーに関するスキルと知識を証明できます。

マニュアルの最終更新日: 2024 年 5 月 3 日

ラボの最終テスト日: 2024 年 4 月 19 日

Copyright 2024 Google LLC All rights reserved. Google および Google のロゴは Google LLC の商標です。その他すべての企業名および商品名はそれぞれ各社の商標または登録商標です。

このコンテンツは現在ご利用いただけません

利用可能になりましたら、メールでお知らせいたします

ありがとうございます。

利用可能になりましたら、メールでご連絡いたします