5月11〜12日にGoogle I/OでTensorFlowに参加する今すぐ登録

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

序章

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

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

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

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

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

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

データセットの詳細については、 GoogleBigQueryをご覧ください。 BigQueryUIで完全なデータセットを調べます。

モデルの目標-二項分類

顧客は20%以上または20%未満のチップを払いますか?

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

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

開始するには、GoogleCloudアカウントが必要です。すでにお持ちの場合は、[新しいプロジェクトの作成]に進んでください。

  1. Google CloudConsoleに移動します。

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

  3. 無料トライアルアカウントから始めたい場合は、[無料で試す](または[無料で開始])をクリックしてください。

    1. あなたの国を選択。

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

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

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

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

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

2.新しいKubernetesクラスターにAIプラットフォームパイプラインをセットアップしてデプロイします

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

    メインナビゲーションメニューの下:≡> AIプラットフォーム>パイプライン

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

  3. Kubeflowパイプラインの概要ページで、[構成]をクリックします。

  4. [有効にする]をクリックして、Kubernetes EngineAPIを有効にします

  5. [Kubeflowパイプラインのデプロイ]ページ:

    1. クラスタのゾーン(または「リージョン」)を選択します。ネットワークとサブネットワークは設定できますが、このチュートリアルでは、これらをデフォルトのままにしておきます。

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

    3. [新しいクラスターの作成]をクリックし、クラスターが作成されるまで数分待ちます。これには数分かかります。完了すると、次のようなメッセージが表示されます。

      クラスター「cluster-1」がゾーン「us-central1-a」に正常に作成されました。

    4. 名前空間とインスタンス名を選択します(デフォルトを使用しても問題ありません)。このチュートリアルでは、 executor.emissaryまたはmanagedstorage.enabledをチェックしないでください。

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

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

  1. Vertex AIWorkbenchページに移動します。 Workbenchを初めて実行するときは、NotebookAPIを有効にする必要があります。

    メインナビゲーションメニューの下:≡-> Vertex AI-> Workbench

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

  3. TensorFlow Enterprise 2.7(またはそれ以降)がインストールされた新しいノートブックを作成します。

    新しいノートブック-> TensorFlow Enterprise 2.7-> GPUなし

    リージョンとゾーンを選択し、ノートブックインスタンスに名前を付けます。

    無料利用枠の制限内にとどまるには、ここでデフォルト設定を変更して、このインスタンスで使用可能なvCPUの数を4から2に減らす必要がある場合があります。

    1. [新しいノートブック]フォームの下部にある[詳細オプション]を選択します。
    2. フリーティアにとどまる必要がある場合は、[マシン構成]で1つまたは2つのvCPUを使用する構成を選択することをお勧めします。

    3. 新しいノートブックが作成されるのを待ってから、[ノートブックAPIを有効にする]をクリックします

4.入門ノートブックを起動します

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

    メインナビゲーションメニューの下:≡-> AIプラットフォーム->パイプライン

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

  3. [はじめに]ページで、[ GoogleCloudでCloudAIプラットフォームノートブックを開く]をクリックします。

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

    選択-ノートブック

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

インストール

Getting Started Notebookは、JupyterLabが実行されているVMにTFXKubeflowPipelines(KFP)をインストールすることから始まります。

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

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

GoogleCloudサービスに接続する

パイプライン構成にはプロジェクトIDが必要です。プロジェクト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パイプラインダッシュボードに移動し、URLを確認します。エンドポイントは、 https://から始まりgoogleusercontent.comまでのURL内のすべてです。

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を使用します。

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

次に、ノートブックはtfxを使用してパイプラインテンプレートをコピーします。このチュートリアルでは、シカゴのタクシーデータセットを使用して二項分類を実行するため、テンプレートはモデルを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ノートブックが含まれます。これらは、この特定の例を対象としています。独自のパイプラインの場合、これらはパイプラインに必要なサポートファイルになります。

Pythonファイルの簡単な説明は次のとおりです。

  • pipeline -このディレクトリには、パイプラインの定義が含まれています
    • configs.py —パイプラインランナーの共通定数を定義します
    • Pipeline.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推定器を使用してDNNモデルを定義します
    • kerasこのディレクトリには、Kerasベースのモデルが含まれています。
      • constants.py —モデルの定数を定義します
      • model.py / model_test.pyを使用してDNNモデルを定義します
  • beam_runner.py / kubeflow_runner.py —各オーケストレーションエンジンのランナーを定義します

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

ノートブックは、 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

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

パイプラインを実行する

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

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

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

8.データを検証します

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

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

コンポーネント

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

  • ExampleGenは、入力データセットを取り込み、分割します。
  • StatisticsGenは、データセットの統計を計算します。
  • SchemaGen SchemaGenは統計を調べ、データスキーマを作成します。
  • ExampleValidatorは、データセット内の異常と欠落値を探します。

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 ValidationColabを参照してください。

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

9.特徴工学

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

  • 機能の交差
  • 語彙
  • 埋め込み
  • PCA
  • カテゴリエンコーディング

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

コンポーネント

変身

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

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

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

# 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 TransformColabを参照してください。

10.トレーニング

きれいで変換されたデータを使用してTensorFlowモデルをトレーニングします。

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

コンポーネント

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

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

# 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で、Evaluatorを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 Lite
  • TensorFlow JS
  • TensorFlowハブ

コンポーネント

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

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

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

# components.append(pusher)

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

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

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

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

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

より高度な例

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

Kubeflowパイプラインのリソースに関する考慮事項

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

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

たとえば、メモリを構成するには、 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を開きますCsvExampleGenをコメントアウトし、 BigQueryExampleGenのインスタンスを作成する行のコメントを解除します。また、 create_pipeline関数のquery引数のコメントを解除する必要があります。

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

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

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

ダブルクリックしてkubeflow_runner.pyを開きますcreate_pipeline関数の2つの引数、 querybeam_pipeline_argsのコメントを解除します。

これで、パイプラインはサンプルソースとして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コンポーネントはApacheBeamを使用してデータ並列パイプラインを実装します。これは、 Google CloudDataflowを使用してデータ処理ワークロードを分散できることを意味します。このステップでは、ApacheBeamのデータ処理バックエンドとして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を開きますGOOGLE_CLOUD_REGIONDATAFLOW_BEAM_PIPELINE_ARGSの定義のコメントを解除します。

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

ダブルクリックしてkubeflow_runner.pyを開きますbeam_pipeline_argsのコメントを解除します。 (また、ステップ7で追加した現在のbeam_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 AIPlatformなどのいくつかのマネージドGCPサービスと相互運用します。 MLモデルをトレーニングするためのマネージドサービスであるCloudAI PlatformTrainingを使用するようにTrainerコンポーネントを設定できます。さらに、モデルが構築されて提供される準備ができたら、モデルをCloud AI PlatformPredictionにプッシュして提供できます。このステップでは、Cloud AIPlatformサービスを使用するようにTrainerおよびPusherコンポーネントを設定します。

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

pipelineをダブルクリックしてディレクトリを変更し、ダブルクリックしてconfigs.pyを開きますGOOGLE_CLOUD_REGIONGCP_AI_PLATFORM_TRAINING_ARGS 、およびGCP_AI_PLATFORM_SERVING_ARGSの定義のコメントを解除します。カスタムビルドのコンテナイメージを使用してCloudAIプラットフォームトレーニングでモデルをトレーニングするため、 CUSTOM_TFX_IMAGE GCP_AI_PLATFORM_TRAINING_ARGS masterConfig.imageUri値に設定する必要があります。

ディレクトリを1レベル上に変更し、ダブルクリックしてkubeflow_runner.pyを開きますai_platform_training_argsai_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}

トレーニングジョブはCloudAI PlatformJobsにあります。パイプラインが正常に完了した場合は、 CloudAIプラットフォームモデルでモデルを見つけることができます。

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

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

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

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

  1. 場所を示すDATA_PATHkubeflow_runner.pyを変更します。

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

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

トレーナーについてもっと知る

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

清掃

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

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