MLコミュニティデーは11月9日です! TensorFlow、JAXからの更新のために私たちに参加し、より多くの詳細をご覧ください

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

序章

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

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

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

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

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

あなたは、使用しているタクシーをデータセットをTripsのシカゴ市が発表しました。

あなたはすることができます続きを読む内のデータセットに関するGoogleのBigQueryのを。で完全なデータセットを探検BigQueryのUIを

モデルの目標-二項分類

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

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

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

開始するには、GoogleCloudアカウントが必要です。すでにアカウントをお持ちの場合は、して進んで新規プロジェクトを作成します

  1. 行くGoogleクラウドコンソール

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

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

    1. あなたの国を選択。

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

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

      この時点では課金されません。あなたが他のGoogleクラウドプロジェクトを持っていない場合は、超えることなく、このチュートリアルを完了することができますGoogleクラウド無料ティア同時に実行されている8つのコアの最大を含んで限界を、。

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

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

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

  1. 行くAIプラットフォームパイプラインクラスタのページ。

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

  2. 新しいクラスタを作成するには+新規インスタンスをクリックします。

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

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

  4. 展開Kubeflowパイプラインのページでは:

    1. 選択ゾーンクラスタのための(または「領域」)。

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

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

    4. 名前空間とインスタンス名を選択します(デフォルトを使用しても問題ありません)。あなたは使用して、管理されたストレージを確認する必要はありません。

    5. 展開をクリックして、パイプラインが展開されるまで、いくつかの瞬間を待ちます。 Kubeflow Pipelinesをデプロイすると、利用規約に同意したことになります。

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

  1. 行くAIプラットフォームノートブックページ。

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

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

  3. インストールTensorFlow 2.1(またはそれ以上)で新規インスタンスを作成します。

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

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

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

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

  1. 行くAIプラットフォームパイプラインクラスタのページ。

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

  2. このチュートリアルで使用しているクラスタのためのラインでは、オープンパイプラインダッシュボードをクリックしてください。

    オープンダッシュボード

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

  4. このチュートリアルで使用しているノートブックのインスタンスを選択し、[続行

    選択ノートブック

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

インストール

インストールすることにより、ノートブックの開始をはじめTFXKubeflowパイプライン(KFP)をJupyterラボが実行されているVMに。

次に、インストールされている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 Pipelineダッシュボードに移動し、URLを確認します。エンドポイントは、URLのすべてで始まるですhttps://アップ、およびを含む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

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

ノートブックは、使用していますtfxパイプラインテンプレートをコピーするには、CLIを。テンプレートはにモデルを設定しますので、このチュートリアルでは、バイナリ分類を実行するためにシカゴのタクシーのデータセットを使用しています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コンポーネントおよびパイプライン
  • models -このディレクトリには、MLモデルの定義が含まれています。
    • features.py features_test.py -モデルの定義機能
    • preprocessing.py / preprocessing_test.py -使用してジョブを前処理定義tf::Transform
    • estimator -このディレクトリには、見積もりベースのモデルが含まれています。
      • constants.py -モデルの定義定数
      • model.py / model_test.py - TF推定器を用いてDNNモデルを定義
    • keras -このディレクトリにはKerasベースのモデルが含まれています。
      • constants.py -モデルの定義定数
      • model.py / model_test.py - Kerasを使用してDNNモデルを定義
  • beam_runner.py / kubeflow_runner.py -各オーケストレーションエンジンのランナーを定義

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

ノートPCは使ってパイプラインで実行されますtfx run CLIコマンドを。

ストレージに接続する

実行パイプラインはに格納する必要が成果物作成ML-メタデータ。アーティファクトとは、ファイルシステムまたはブロックストレージに保存する必要のあるファイルであるペイロードを指します。このチュートリアルでは、セットアップ中に自動的に作成されたバケットを使用して、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ドッカーイメージを構築するために生成されます。これらのファイルを他のソースファイルと一緒にソース管理システム(たとえば、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 、あなたのパイプラインにこれらのコンポーネントを追加するコメントを解除行:

# 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データ検証コラボを

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

9.機能エンジニアリング

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

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

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

コンポーネント

変身

  • 変換を実行するには、データセットにエンジニアリングを備えています。

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がコラボを変換

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 Lite
  • TensorFlow JS
  • TensorFlowハブ

コンポーネント

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

ではpipeline / pipeline.py 、見つけて、パイプラインにプッシャーを追加する行のコメントを解除します。

# components.append(pusher)

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

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

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

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

  • TensorFlowは、サービングサーバーまたはサーバーファーム上で、あなたのモデルを提供し、RESTおよび/またはgRPC推論要求を処理するため、。
  • TensorFlow Liteは、あなたのAndroidまたはiOSのネイティブモバイルアプリケーションでのモデル、またはラズベリーパイで、IoTを、またはマイクロコントローラアプリケーションを含むため。
  • TensorFlow.js 、WebブラウザやNode.jsのアプリケーションでモデルを実行しているため。

より高度な例

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

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

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

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

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

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 。また、コメントを解除する必要があるqueryの引数create_pipeline機能を。

私たちは、BigQueryのに使用するGCPプロジェクトを指定する必要があり、これは設定することによって行われる--projectbeam_pipeline_argsパイプラインを作成するとき。

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

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

ダブルクリックして開きますkubeflow_runner.py 。コメントを外して二つの引数、 queryおよびbeam_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ビームを使用してデータ並列パイプラインを実装するために、それはあなたが使用してワークロードを処理し、データを配布することができることを意味Googleクラウドデータフローを。このステップでは、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_REGION 、およびDATAFLOW_BEAM_PIPELINE_ARGS

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

ダブルクリックして開きますkubeflow_runner.py 。コメントを解除beam_pipeline_args 。 (また、現在コメントアウトしてくださいbeam_pipeline_args手順7で追加したことを)

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

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

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

あなたには、あなたのデータフローの仕事を見つけることができるクラウドコンソールでのデータフロー

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

以下のようないくつかのマネージドGCPサービス、とのTFXの相互運用トレーニングと予測のためのクラウドプラットフォームAI 。あなたは設定することができTrainerクラウドAIプラットフォームのトレーニング、MLモデルを訓練するためのマネージドサービスを使用するコンポーネントを。お使いのモデルが提供されるように構築され、準備ができたときにまた、あなたは、サービス提供のためのクラウドプラットフォームAI予測にモデルをプッシュすることができます。このステップでは、我々は我々の設定しますTrainerPusherクラウドAI Platformサービスを使用するコンポーネントを。

ファイルを編集する前に、まずAIプラットフォームトレーニング&予測APIを有効にする必要があります。

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

ディレクトリを変更する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}

あなたには、あなたのトレーニングの仕事を見つけることができるクラウドAIプラットフォームジョブズ。あなたのパイプラインが正常に完了した場合、あなたはあなたの中のモデルを見つけることができるクラウドAIプラットフォームモデル

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

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

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

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

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

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

  1. 変更BIG_QUERY_QUERYあなたのクエリステートメントにconfigs.pyに。
  2. 機能の追加models / features.py
  3. 修正models / preprocessing.pyするための訓練のための入力データを変換します
  4. 修正models / keras / model.pymodels / keras / constants.pyするあなたのMLのモデルを記述

トレーナーの詳細

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

清掃

このプロジェクトで使用されるすべてのGoogleクラウドリソースをクリーンアップするには、次のことができGoogleクラウドプロジェクト削除チュートリアルで使用します。

また、あなたはそれぞれのコンソールにアクセスし、個々のリソースをクリーンアップすることができます- Googleのクラウドストレージ-グーグルコンテナレジストリ-グーグルKubernetesエンジン