SIG TFX-Addonsコミュニティに参加して、TFXをさらに改善するのを手伝ってください!

クラウドAIプラットフォームパイプライン上のTFX

前書き

このチュートリアルは、TensorFlow Extended(TFX)とCloud AI Platform Pipelinesを紹介し、GoogleCloudで独自の機械学習パイプラインを作成する方法を学ぶのに役立つように設計されています。 TFX、AI Platform Pipelines、Kubeflow との統合、および Jupyter ノートブックでの TFX との相互作用を示しています。

このチュートリアルの最後に、GoogleCloudでホストされるMLパイプラインを作成して実行します。各実行の結果を視覚化し、作成されたアーティファクトの系統を表示できます。

データセットを調べることから始まり、完全に機能するパイプラインで終わる、典型的なML開発プロセスに従います。その過程で、パイプラインをデバッグおよび更新し、パフォーマンスを測定する方法を探ります。

シカゴのタクシーデータセット

タクシーシカゴのタクシー

シカゴ市がリリースしたタクシー旅行データセットを使用しています。

Google BigQueryのデータセットについて詳しく読むことができますBigQuery UIで完全なデータセットを探索します。

モデルの目標-二項分類

顧客はチップを 20% 以上または少なくしますか?

1. GoogleCloudプロジェクトを設定します

1.a GoogleCloudで環境をセットアップします

開始するには、Google Cloud アカウントが必要です。すでにお持ちの場合は、スキップしてCreate New Project に進んでください。

  1. Google Cloud Console に移動します

  2. GoogleCloudの利用規約に同意する

  3. あなたは無料トライアルアカウントで起動したい場合は、をクリックして無料でお試し(または無料で始めましょう)。

    1. あなたの国を選択。

    2. 利用規約に同意します。

    3. 請求の詳細を入力します。

      この時点では課金されません。他に GCP プロジェクトがない場合は、同時に実行される最大 8 コアを含むGoogle Cloud 無料利用枠の制限を超えることなく、このチュートリアルを完了することができます。

1.b新しいプロジェクトを作成します。

  1. メインのGoogleCloudダッシュボードから、 Google Cloud Platformヘッダーの横にあるプロジェクトドロップダウンをクリックし、[新しいプロジェクト]を選択します。
  2. プロジェクトに名前を付け、他のプロジェクトの詳細を入力します
  3. プロジェクトを作成したら、プロジェクトのドロップダウンから選択します。

2. AI Platform Pipeline をセットアップして新しい Kubernetes クラスターにデプロイする

  1. AIプラットフォームパイプラインクラスターページに移動します。

    メイン ナビゲーション メニューの下: ≡ > AI Platform > パイプライン

  2. [ + 新しいインスタンス]をクリックして、新しいクラスターを作成します。

  3. Kubeflow Pipelines の概要ページで、[構成] をクリックします。

    Kubernetes Engine APIが有効になっている間、先に進むまでに数分待たなければならない場合があります。

  4. [ Kubeflow パイプラインデプロイ]ページで:

    1. クラスターのゾーン(または「リージョン」)を選択します。

    2. 重要[次のクラウド API へのアクセスを許可する]というラベルの付いたボックスをオンにします。 (これは、このクラスターがプロジェクトの他の部分にアクセスするために必要です。この手順を怠ると、後で修正するのが少し難しくなります。)

    3. [作成] をクリックし、クラスターが作成されるまで数分待ちます

    4. 名前空間とインスタンス名を選択します(デフォルトを使用しても問題ありません)。 Use managed storageをチェックする必要はありません。

    5. [デプロイ] をクリックし、パイプラインがデプロイされるまでしばらく待ちます。 Kubeflow Pipelines をデプロイすることにより、利用規約に同意したことになります。

3. Cloud AI PlatformNotebookインスタンスをセットアップします。

  1. AI Platform ノートブックのページに移動します。

    メイン ナビゲーション メニューの下: ≡ -> AI Platform -> ノートブック

  2. プロンプトが表示されたら、Compute Engine API を有効にします。

  3. TensorFlow 2.1 (またはそれ以降) がインストールされた新しいインスタンスを作成します。

    新しいインスタンス-> TensorFlow 2.1-> GPUなし

    無料利用枠の制限内に留まるには、ここでのデフォルト設定を受け入れないでください。このインスタンスで使用可能なvCPUの数を4から2に減らす必要があります。

    1. [新しいノートブックインスタンス]フォームの下部にある[カスタマイズ]を選択します
    2. 1 つまたは 2 つの vCPU を備えたマシン構成を選択します

4. Getting Started ノートブックを起動する

  1. AI Platform Pipelines クラスターのページに移動します。

    メイン ナビゲーション メニューの下: ≡ -> AI Platform -> パイプライン

  2. このチュートリアルで使用しているクラスターの行で、[パイプラインダッシュボードを開く]をクリックします

    オープンダッシュボード

  3. [はじめに] ページで、[ TF 2.1 ノートブックを開く] をクリックします。

  4. このチュートリアルで使用しているNotebookインスタンスを選択し、続行します。

    選択ノートブック

5.ノートブックでの作業を続行します

インストール

入門ノートブックは、JupyterLabが実行されているVMにTFXKubeflowパイプライン(KFP)をインストールすることから始まります。

次に、インストールされているTFXのバージョンを確認し、インポートを実行して、プロジェクトIDを設定および出力します。

Pythonのバージョンを確認してインポート

GoogleCloudサービスに接続する

パイプライン構成にはプロジェクト ID が必要です。これは、ノートブックを介して取得し、環境変数として設定できます。

# Read GCP project id from env.
shell_output=!gcloud config list --format 'value(core.project)' 2>/dev/null
GCP_PROJECT_ID=shell_output[0]
print("GCP project ID:" + GCP_PROJECT_ID)

次に、KFP クラスターのエンドポイントを設定します。

これは、パイプラインダッシュボードのURLから見つけることができます。 Kubeflow Pipelineダッシュボードに移動し、URLを確認します。エンドポイントは、 https://googleusercontent.comまでのURL内のすべてgoogleusercontent.com

ENDPOINT='' # Enter YOUR ENDPOINT here.

次に、ノートブックはカスタムDockerイメージに一意の名前を設定します。

# Docker image name for the pipeline image
CUSTOM_TFX_IMAGE='gcr.io/' + GCP_PROJECT_ID + '/tfx-pipeline'

6.テンプレートをプロジェクトディレクトリにコピーします

次のノートブックセルを編集して、パイプラインの名前を設定します。このチュートリアルではmy_pipelineを使用しmy_pipeline

PIPELINE_NAME="my_pipeline"
PROJECT_DIR=os.path.join(os.path.expanduser("~"),"imported",PIPELINE_NAME)

次に、ノートブックはtfx CLI を使用してパイプライン テンプレートをコピーします。このチュートリアルでは、Chicago Taxiデータセットを使用して二項分類を実行するため、テンプレートはモデルをtaxi設定します。

!tfx template copy \
  --pipeline-name={PIPELINE_NAME} \
  --destination-path={PROJECT_DIR} \
  --model=taxi

次に、ノートブックはCWDコンテキストをプロジェクトディレクトリに変更します。

%cd {PROJECT_DIR}

パイプラインファイルを参照する

Cloud AI Platform Notebook の左側に、ファイル ブラウザが表示されます。パイプライン名 ( my_pipeline ) のディレクトリが必要です。それを開いてファイルを表示します。 (ノートブック環境からも開いて編集できます。)

# You can also list the files from the shell
 ls

上記のtfx template copyコマンドは、パイプラインを構築するファイルの基本的な足場を作成しました。これらには、Python ソース コード、サンプル データ、Jupyter Notebook が含まれます。これらは、この特定の例を対象としています。独自のパイプラインの場合、これらはパイプラインに必要なサポートファイルになります。

Python ファイルの簡単な説明を次に示します。

  • pipeline -このディレクトリには、パイプラインの定義が含まれています
    • configs.py — パイプライン ランナーの共通定数を定義します
    • pipe.py —TFXコンポーネントとpipeline.py定義します
  • models - このディレクトリには ML モデル定義が含まれています。
    • features.py features_test.py — モデルの機能を定義します
    • preprocessing.py / preprocessing_test.pytf::Transformを使用して前処理ジョブを定義します
    • estimatorこのディレクトリには、Estimatorベースのモデルが含まれています。
      • constants.py — モデルの定数を定義します
      • model.py / model_test.py — TF estimator を使用して DNN モデルを定義します
    • kerasこのディレクトリには、Kerasベースのモデルが含まれています。
      • constants.py —モデルの定数を定義します
      • model.py / model_test.pymodel_test.pyを使用して DNN モデルを定義します
  • beam_runner.py / kubeflow_runner.py — オーケストレーション エンジンごとにランナーを定義する

7. Kubeflow で最初の TFX パイプラインを実行する

ノートブックは、 tfx runコマンドを使用してパイプラインをtfx runます。

ストレージに接続

パイプラインを実行すると、 ML-Metadataに保存する必要のあるアーティファクトが作成されます。アーティファクトは、ファイル システムまたはブロック ストレージに格納する必要があるファイルであるペイロードを指します。このチュートリアルでは、セットアップ中に自動的に作成されたバケットを使用して、GCSを使用してメタデータペイロードを保存します。その名前は<your-project-id>-kubeflowpipelines-default

パイプラインを作成する

ノートブックはサンプル データを GCS バケットにアップロードして、後でパイプラインで使用できるようにします。

gsutil cp data/data.csv gs://{GOOGLE_CLOUD_PROJECT}-kubeflowpipelines-default/tfx-template/data/taxi/data.csv

次に、ノートブックはtfx pipeline createコマンドを使用してパイプラインを作成します。

!tfx pipeline create  \
--pipeline-path=kubeflow_runner.py \
--endpoint={ENDPOINT} \
--build-image

パイプラインの作成中に、 Dockerfileが生成され、Docker イメージがビルドされます。これらのファイルを他のソースファイルと一緒にソース管理システム(たとえば、git)に追加することを忘れないでください。

パイプラインを実行する

次に、ノートブックはtfx run createコマンドを使用して、パイプラインの実行実行を開始します。この実行は、Kubeflowパイプラインダッシュボードの[実験]の下に一覧表示されます。

tfx run create --pipeline-name={PIPELINE_NAME} --endpoint={ENDPOINT}

パイプラインは、Kubeflowパイプラインダッシュボードから表示できます。

8.データを検証します

データ サイエンスまたは ML プロジェクトの最初のタスクは、データを理解してクリーンアップすることです。

  • 各特徴のデータ型を理解する
  • 異常と欠落値を探します
  • 各機能の分布を理解する

コンポーネント

データコンポーネントデータコンポーネント

Jupyterラボファイルエディターの場合:

pipeline pipeline.py /pipeline.pyで、これらのコンポーネントをパイプラインに追加する行のコメントを解除します。

# components.append(statistics_gen)
# components.append(schema_gen)
# components.append(example_validator)

(テンプレートファイルがコピーされたとき、 ExampleGenはすでに有効になっています。)

パイプラインを更新して再実行する

# Update the pipeline
! tfx pipeline update \
  --pipeline-path=kubeflow_runner.py \
  --endpoint={ENDPOINT}

! tfx run create --pipeline-name "{PIPELINE_NAME}"

パイプラインを確認する

Kubeflow Orchestratorの場合は、KFPダッシュボードにアクセスして、パイプライン実行のページでパイプライン出力を見つけます。左側の[実験]タブをクリックし、[実験]ページの[すべての実行]をクリックします。パイプラインの名前で実行を見つけることができるはずです。

より高度な例

ここに示されている例は、実際には開始することだけを目的としています。より高度な例については、 TensorFlow Data Validation Colab を参照してください。

TFDV を使用してデータセットを探索および検証する方法の詳細については、tensorflow.org の例を参照してください

9. 特徴エンジニアリング

機能エンジニアリングを使用すると、データの予測品質を向上させたり、次元を削減したりできます。

  • 特徴クロス
  • 語彙
  • 埋め込み
  • PCA
  • カテゴリーエンコーディング

TFXを使用する利点の1つは、変換コードを1回記述するだけで、結果の変換がトレーニングと提供の間で一貫していることです。

コンポーネント

トランスフォーム

  • Transformは、データセットに対して特徴エンジニアリングを実行します。

Jupyterラボファイルエディターの場合:

ではpipeline / pipeline.py 、検索および追加行コメントを解除変換パイプラインにします。

# components.append(transform)

パイプラインを更新して再実行します

# Update the pipeline
! tfx pipeline update \
  --pipeline-path=kubeflow_runner.py \
  --endpoint={ENDPOINT}

! tfx run create --pipeline-name "{PIPELINE_NAME}"

パイプライン出力を確認する

Kubeflow Orchestratorの場合は、KFPダッシュボードにアクセスして、パイプライン実行のページでパイプライン出力を見つけます。左側の[実験]タブをクリックし、[実験]ページの[すべての実行]をクリックします。パイプラインの名前で実行を見つけることができるはずです。

より高度な例

ここに示されている例は、実際には開始することだけを目的としています。より高度な例については、 TensorFlow Transform Colab を参照してください。

10.トレーニング

TensorFlow モデルを、素敵でクリーンな変換されたデータでトレーニングします。

  • 前のステップの変換を含めて、一貫して適用されるようにします
  • 結果を本番用にSavedModelとして保存します
  • TensorBoard を使用してトレーニング プロセスを視覚化して調査する
  • また、モデル パフォーマンスの分析のために EvalSavedModel を保存します。

コンポーネント

Jupyter ラボ ファイル エディターの場合:

ではpipeline / pipeline.pyパイプラインにトレーナーを追加し、検索してコメントを解除:

# components.append(trainer)

パイプラインを更新して再実行します

# Update the pipeline
! tfx pipeline update \
  --pipeline-path=kubeflow_runner.py \
  --endpoint={ENDPOINT}

! tfx run create --pipeline-name "{PIPELINE_NAME}"

パイプライン出力を確認する

Kubeflow Orchestrator の場合、KFP ダッシュボードにアクセスし、パイプライン実行のページでパイプライン出力を見つけます。左側の[実験]タブをクリックし、[実験]ページの[すべての実行]をクリックします。パイプラインの名前で実行を見つけることができるはずです。

より高度な例

ここに示されている例は、実際には開始することだけを目的としています。より高度な例については、 TensorBoardチュートリアルを参照してください。

11.モデルのパフォーマンスの分析

トップレベルの指標以上のものを理解する。

  • ユーザーはクエリに対してのみモデルのパフォーマンスを体験する
  • データのスライスでのパフォーマンスの低下は、トップレベルのメトリックによって隠すことができます
  • モデルの公平性は重要です
  • 多くの場合、ユーザーまたはデータの主要なサブセットは非常に重要であり、小さい場合があります
    • クリティカルだが異常な状態でのパフォーマンス
    • インフルエンサーなどの主要なオーディエンスのパフォーマンス
  • 現在生産中のモデルを置き換える場合は、まず新しいモデルの方が優れていることを確認してください

コンポーネント

  • 評価者は、トレーニング結果の詳細な分析を実行します。

Jupyterラボファイルエディターの場合:

ではpipeline / pipeline.py 、見つけて、パイプラインへの評価者を追加する行のコメントを解除します。

components.append(evaluator)

パイプラインを更新して再実行します

# Update the pipeline
! tfx pipeline update \
  --pipeline-path=kubeflow_runner.py \
  --endpoint={ENDPOINT}

! tfx run create --pipeline-name "{PIPELINE_NAME}"

パイプライン出力を確認する

Kubeflow Orchestratorの場合は、KFPダッシュボードにアクセスして、パイプライン実行のページでパイプライン出力を見つけます。左側の [実験] タブをクリックし、[実験] ページの [すべての実行] をクリックします。パイプラインの名前で実行を見つけることができるはずです。

12.モデルの提供

新しいモデルの準備ができている場合は、そのようにします。

  • プッシャーはSavedModelsをよく知られた場所に展開します

展開ターゲットは、よく知られた場所から新しいモデルを受け取ります

  • TensorFlowサービング
  • TensorFlow ライト
  • TensorFlow JS
  • TensorFlow ハブ

コンポーネント

  • プッシャーは、モデルをサービングインフラストラクチャにデプロイします。

Jupyter ラボ ファイル エディターの場合:

pipeline / pipeline.py 、Pusher をパイプラインに追加する行を見つけてコメントを外します。

# components.append(pusher)

パイプライン出力を確認する

Kubeflow Orchestrator の場合、KFP ダッシュボードにアクセスし、パイプライン実行のページでパイプライン出力を見つけます。左側の[実験]タブをクリックし、[実験]ページの[すべての実行]をクリックします。パイプラインの名前で実行を見つけることができるはずです。

利用可能な展開ターゲット

これでモデルのトレーニングと検証が完了し、モデルの本番環境の準備が整いました。これで、次のようなTensorFlowデプロイターゲットのいずれかにモデルをデプロイできます。

  • サーバーまたはサーバー ファームでモデルを提供し、REST および/または gRPC 推論リクエストを処理するためのTensorFlow Serving
  • TensorFlow Lite は、モデルを Android または iOS ネイティブ モバイル アプリケーション、または Raspberry Pi、IoT、またはマイクロコントローラ アプリケーションに含めるためのものです。
  • TensorFlow.js : モデルを Web ブラウザーまたは Node.JS アプリケーションで実行します。

より高度な例

上に示した例は、実際には開始することのみを目的としています。以下は、他のクラウドサービスとの統合の例です。

Kubeflow Pipelines のリソースに関する考慮事項

ワークロードの要件に応じて、KubeflowPipelinesデプロイメントのデフォルト構成がニーズを満たす場合と満たさない場合があります。 KubeflowDagRunnerConfig呼び出しでpipeline_operator_funcsを使用して、リソース構成をカスタマイズできます。

pipeline_operator_funcsのリストであるOpFunc生成されたすべての変換アイテム、 ContainerOpからコンパイルされたKFPパイプライン仕様にインスタンスをKubeflowDagRunner

たとえば、メモリを構成するには、 set_memory_requestを使用して必要なメモリ量を宣言できます。これを行う一般的な方法は、 set_memory_requestラッパーを作成し、それを使用してパイプラインOpFuncのリストに追加することです。

def request_more_memory():
  def _set_memory_spec(container_op):
    container_op.set_memory_request('32G')
  return _set_memory_spec

# Then use this opfunc in KubeflowDagRunner
pipeline_op_funcs = kubeflow_dag_runner.get_default_pipeline_operator_funcs()
pipeline_op_funcs.append(request_more_memory())
config = KubeflowDagRunnerConfig(
    pipeline_operator_funcs=pipeline_op_funcs,
    ...
)
kubeflow_dag_runner.KubeflowDagRunner(config=config).run(pipeline)

同様のリソース構成機能は次のとおりです。

  • set_memory_limit
  • set_cpu_request
  • set_cpu_limit
  • set_gpu_limit

BigQueryExampleGen試す

BigQueryは、サーバーレスでスケーラビリティが高く、費用対効果の高いクラウド データ ウェアハウスです。 BigQuery は、TFX のトレーニング サンプルのソースとして使用できます。このステップでは、 BigQueryExampleGenをパイプラインに追加します。

Jupyterラボファイルエディターの場合:

ダブルクリックして、 pipeline.pyを開きますCsvExampleGenBigQueryExampleGenインスタンスを作成する行のコメントをCsvExampleGenます。 create_pipeline関数のquery引数のコメントを解除する必要もありcreate_pipeline

BigQueryに使用するGCPプロジェクトを指定する必要があります。これは、パイプラインを作成するときにbeam_pipeline_args --projectを設定することで行われます。

ダブルクリックしてconfigs.pyを開きconfigs.pyBIG_QUERY_WITH_DIRECT_RUNNER_BEAM_PIPELINE_ARGSおよびBIG_QUERY_QUERY定義のコメントを外します。このファイルのプロジェクト ID とリージョンの値を、GCP プロジェクトの正しい値に置き換える必要があります。

ディレクトリを 1 つ上のレベルに変更します。ファイル リストの上にあるディレクトリの名前をクリックします。ディレクトリの名前はパイプラインの名前で、パイプライン名を変更しなかった場合はmy_pipelineです。

ダブルクリックしてkubeflow_runner.pyを開きkubeflow_runner.pycreate_pipeline関数の 2 つの引数querybeam_pipeline_argsコメントを外しcreate_pipeline

これで、パイプラインはサンプルソースとしてBigQueryを使用する準備が整いました。以前と同じようにパイプラインを更新し、手順5と6で行ったように新しい実行実行を作成します。

パイプラインを更新して再実行する

# Update the pipeline
!tfx pipeline update \
  --pipeline-path=kubeflow_runner.py \
  --endpoint={ENDPOINT}

!tfx run create --pipeline-name {PIPELINE_NAME} --endpoint={ENDPOINT}

Dataflowをお試しください

いくつかのTFXコンポーネントは、Apache Beam使用してデータ並列パイプラインを実装します。これは、 Google CloudDataflowを使用してデータ処理ワークロードを分散できることを意味します。このステップでは、Apache Beam のデータ処理バックエンドとして Dataflow を使用するように Kubeflow オーケストレーターを設定します。

# Select your project:
gcloud config set project YOUR_PROJECT_ID

# Get a list of services that you can enable in your project:
gcloud services list --available | grep Dataflow

# If you don't see dataflow.googleapis.com listed, that means you haven't been
# granted access to enable the Dataflow API.  See your account adminstrator.

# Enable the Dataflow service:

gcloud services enable dataflow.googleapis.com

pipelineをダブルクリックしてディレクトリを変更し、ダブルクリックしてconfigs.pyを開きconfigs.pyGOOGLE_CLOUD_REGIONDATAFLOW_BEAM_PIPELINE_ARGS定義のコメントを解除します。

ディレクトリを1レベル上に変更します。ファイル リストの上にあるディレクトリの名前をクリックします。ディレクトリの名前はパイプラインの名前であり、変更しなかった場合はmy_pipelineます。

ダブルクリックしてkubeflow_runner.pyを開きkubeflow_runner.pybeam_pipeline_argsコメントを外しbeam_pipeline_args 。 (また、ステップ7で追加した現在のbeam_pipeline_argsbeam_pipeline_argsてください。)

パイプラインを更新して再実行する

# Update the pipeline
!tfx pipeline update \
  --pipeline-path=kubeflow_runner.py \
  --endpoint={ENDPOINT}

!tfx run create --pipeline-name {PIPELINE_NAME} --endpoint={ENDPOINT}

Dataflowジョブは、 CloudConsoleのDataflowにあります。

KFPでクラウドAIプラットフォームのトレーニングと予測を試す

TFXは、トレーニングと予測のためのCloud AI Platformなど、いくつかのマネージドGCPサービスと相互運用します。 ML モデルをトレーニングするためのマネージド サービスである Cloud AI Platform Training を使用するようにTrainerコンポーネントを設定できます。さらに、モデルを構築して提供する準備ができたら、モデルを Cloud AI Platform Prediction にプッシュして提供できます。このステップでは、Cloud AI Platform サービスを使用するようにTrainerコンポーネントとPusherコンポーネントを設定します。

ファイルを編集する前に、まずAI Platform Training&PredictionAPIを有効にする必要がある場合があります

pipelineをダブルクリックしてディレクトリを変更し、ダブルクリックしてconfigs.pyを開きconfigs.pyGOOGLE_CLOUD_REGIONGCP_AI_PLATFORM_TRAINING_ARGS 、およびGCP_AI_PLATFORM_SERVING_ARGSの定義のコメントを解除します。我々が設定する必要がありますように、我々は、クラウドAIプラットフォームのトレーニングでモデルを訓練するために私たちのカスタム構築されたコンテナの画像を使用しますmasterConfig.imageUriGCP_AI_PLATFORM_TRAINING_ARGS同じ値にCUSTOM_TFX_IMAGE以上。

ディレクトリを1レベル上に変更し、ダブルクリックしてkubeflow_runner.pyを開きkubeflow_runner.pyai_platform_training_argsおよびai_platform_serving_argsコメントを解除しai_platform_serving_args

パイプラインを更新して再実行する

# Update the pipeline
!tfx pipeline update \
  --pipeline-path=kubeflow_runner.py \
  --endpoint={ENDPOINT}

!tfx run create --pipeline-name {PIPELINE_NAME} --endpoint={ENDPOINT}

Cloud AI Platform Jobsでトレーニング ジョブを見つけることができます。パイプラインが正常に完了した場合、 Cloud AI Platform Models でモデルを見つけることができます。

14.独自のデータを使用する

このチュートリアルでは、ChicagoTaxiデータセットを使用してモデルのパイプラインを作成しました。次に、独自のデータをパイプラインに入れてみてください。データは、Google Cloud Storage、BigQuery、CSV ファイルなど、パイプラインがアクセスできる場所ならどこにでも保存できます。

データに対応するためにパイプライン定義を変更する必要があります。

データがファイルに保存されている場合

  1. 変更DATA_PATHkubeflow_runner.py位置を示します。

データがBigQueryに保存されている場合

  1. BIG_QUERY_QUERY BIG_QUERY_QUERY をクエリ ステートメントに変更します。
  2. 機能の追加models / features.py
  3. models / preprocessing.pyを変更して、トレーニング用の入力データ変換します
  4. models / keras / model.pymodels / keras / constants.pyを変更して、ML モデル記述します

トレーナーの詳細

トレーニング パイプラインの詳細については、トレーナー コンポーネント ガイドをご覧ください。

清掃

このプロジェクトで使用されているすべてのGoogleCloudリソースをクリーンアップするには、チュートリアルで使用したGoogleCloud プロジェクト削除します

または、各コンソールにアクセスして、個々のリソースをクリーンアップすることもできます。- GoogleCloud Storage - Google Container Registry - Google Kubernetes Engine