TFX コマンドラインインターフェイス(CLI)は、Apache Airflow、Apache Beam、Kubeflow Pipelines などのパイプラインオーケストレーターを使用してあらゆるパイプラインアクションを実行します。また、ローカルオーケストレーターを使用して、開発やデバッグを高速化することもできます。CLI を使用すると次のことができます。
- パイプラインを作成、更新、削除する。
- パイプラインを実行し、さまざまなオーケストレーターでの実行を監視する。
- パイプラインとパイプラインの実行を一覧表示する。
注: TFX CLI は現在、互換性を保証していません。新しいバージョンがリリースされると、CLI インターフェイスが変更される可能性があります。
TFX CLI の概要
TFX CLI は、TFX パッケージの一部としてインストールされます。すべての CLI コマンドは、以下の構造に従います。
tfx <var>command-group</var> <var>command</var> <var>flags</var>
現在、次の command-group オプションがサポートされています。
- tfx pipeline - TFX パイプラインを作成および管理します。
- tfx run - さまざまなオーケストレーションプラットフォームで TFX パイプラインの実行を作成および管理します。
- tfx template - TFX パイプラインテンプレートを一覧表示およびコピーするための実験的なコマンド。
各コマンドグループは、一連のコマンドを提供します。これらのコマンドの使用方法の詳細については、パイプラインコマンド、実行コマンド、およびテンプレートコマンドのセクションを参照してください。
警告:現在、すべてのコマンドはすべてのオーケストレーターでサポートされていません。すべてのオーケストレーターでサポートされていないコマンドでは、サポートされているエンジンについて記載されています。
フラグを使用すると、CLI コマンドに引数を渡すことができます。フラグ内の単語は、ハイフン(-
)またはアンダースコア(_
)で区切られます。例えば、パイプライン名フラグは、--pipeline-name
または-pipeline_name
のいずれかとして指定できます。このドキュメントでは、簡潔にするためにアンダースコア付きのフラグを指定しています。TFX CLI で使用されるフラグの詳細はこちらを参照してください。
tfx pipeline
tfx pipeline
コマンドグループのコマンドの構造は次のとおりです。
tfx pipeline <var>command</var> <var>required-flags</var> [<var>optional-flags</var>]
tfx pipeline
コマンドグループのコマンドの詳細については次のセクションを参照してください。
create
指定したオーケストレーターに新しいパイプラインを作成します。
使用法:
tfx pipeline create --pipeline_path=<var>pipeline-path</var> [--endpoint=<var>endpoint</var> --engine=<var>engine</var> \ --iap_client_id=<var>iap-client-id</var> --namespace=<var>namespace</var> --package_path=<var>package-path</var> \ --build_target_image=<var>build-target-image</var> --build_base_image=<var>build-base-image</var> \ --skaffold_cmd=<var>skaffold-command</var>]
- --pipeline_path=pipeline-path
- パイプライン構成ファイルへのパス。
- --endpoint=endpoint
-
(オプション)Kubeflow Pipelines API サービスのエンドポイント。Kubeflow Pipelines API サービスのエンドポイントは、Kubeflow Pipelines ダッシュボードの URL と同じです。エンドポイント値は次のようになります。
<pre>https://<var>host-name</var>/pipeline</pre>
<p>
If you do not know the endpoint for your Kubeflow Pipelines cluster,
contact you cluster administrator.
</p>
<p>
If the <code>--endpoint</code> is not specified, the in-cluster service
DNS name is used as the default value. This name works only if the
CLI command executes in a pod on the Kubeflow Pipelines cluster, such as a
<a href="https://www.kubeflow.org/docs/notebooks/why-use-jupyter-notebook/"
class="external">Kubeflow Jupyter notebooks</a> instance.
</p>
(オプション)パイプラインに使用されるオーケストレーター。エンジンの値は、次のいずれかの値と一致する必要があります。
- airflow: エンジンを Apache Airflow に設定します
- beam: エンジンを Apache Beam に設定します
- kubeflow: エンジンを Kubeflow に設定します
- local: エンジンをローカルオーケストレーターに設定します
エンジンが設定されていない場合、エンジンは環境に基づいて自動検出されます。
**要注意:パイプライン構成ファイルの DagRunner に必要とされるオーケストレーターは、選択されたエンジンまたは自動検出されたエンジンと一致する必要があります。エンジンの自動検出は、ユーザー環境に基づいています。Apache Airflow と Kubeflow Pipelines がインストールされていない場合、デフォルトでローカルオーケストレーターが使用されます。
kubeflow
になります。(オプション)コンパイルされたパイプラインへのファイルとしてのパス。コンパイルされたパイプラインは、圧縮ファイル(.tar.gz
、.tgz
、または、.zip
) または YAML ファイル(.yaml
または.yml
)である必要があります。
package-path が指定されていない場合、TFX はデフォルトパスとして次を使用します。<var>current_directory</var>/<var>pipeline_name</var>.tar.gz
(オプション)エンジン が kubeflow の場合、TFX はパイプラインのコンテナイメージを作成します。ビルドターゲットイメージは、パイプラインコンテナイメージを作成するときに使用する名前、コンテナイメージリポジトリ、およびタグを指定します。タグを指定しない場合、コンテナイメージはlatest
としてタグ付けされます。
Kubeflow Pipelines クラスタでパイプラインを実行するには、クラスタが指定されたコンテナイメージリポジトリにアクセスできる必要があります。
(オプション)エンジン が kubeflow の場合、TFX はパイプラインのコンテナイメージを作成します。ビルドベースイメージは、パイプラインコンテナイメージをビルドするときに使用するベースコンテナイメージを指定します。
(オプション)コンピュータ上の Skaffold へのパス。
例:
Apache Airflow:
tfx pipeline create --engine=airflow --pipeline_path=<var>pipeline-path</var>
Kubeflow:
tfx pipeline create --engine=kubeflow --pipeline_path=<var>pipeline-path</var> --package_path=<var>package-path</var> \ --iap_client_id=<var>iap-client-id</var> --namespace=<var>namespace</var> --endpoint=<var>endpoint</var> \ --skaffold_cmd=<var>skaffold-cmd</var>
ローカル:
tfx pipeline create --engine=local --pipeline_path=<var>pipeline-path</var>
ユーザー環境からエンジンを自動検出するには、以下の例のようなエンジンフラグの使用を避けてください。詳細については、フラグのセクションを参照してください。
tfx pipeline create --pipeline_path=<var>pipeline-path</var> --endpoint --iap_client_id --namespace \ --package_path --skaffold_cmd
update
指定されたオーケストレーターの既存のパイプラインを更新します。
使用法:
tfx pipeline update --pipeline_path=<var>pipeline-path</var> [--endpoint=<var>endpoint</var> --engine=<var>engine</var> \ --iap_client_id=<var>iap-client-id</var> --namespace=<var>namespace</var> --package_path=<var>package-path</var> \ --skaffold_cmd=<var>skaffold-command</var>]
- --pipeline_path=pipeline-path
- パイプライン構成ファイルへのパス。
- --endpoint=endpoint
-
(オプション)Kubeflow Pipelines API サービスのエンドポイント。Kubeflow Pipelines API サービスのエンドポイントは、Kubeflow Pipelines ダッシュボードの URL と同じです。エンドポイント値は次のようになります。
<pre>https://<var>host-name</var>/pipeline</pre>
<p>
If you do not know the endpoint for your Kubeflow Pipelines cluster,
contact you cluster administrator.
</p>
<p>
If the <code>--endpoint</code> is not specified, the in-cluster service
DNS name is used as the default value. This name works only if the
CLI command executes in a pod on the Kubeflow Pipelines cluster, such as a
<a href="https://www.kubeflow.org/docs/notebooks/why-use-jupyter-notebook/"
class="external">Kubeflow Jupyter notebooks</a> instance.
</p>
(オプション)パイプラインに使用されるオーケストレーター。エンジンの値は、次のいずれかの値と一致する必要があります。
- airflow: エンジンを Apache Airflow に設定します
- beam: エンジンを Apache Beam に設定します
- kubeflow: エンジンを Kubeflow に設定します
- local: エンジンをローカルオーケストレーターに設定します
エンジンが設定されていない場合、エンジンは環境に基づいて自動検出されます。
**要注意:パイプライン構成ファイルの DagRunner に必要とされるオーケストレーターは、選択されたエンジンまたは自動検出されたエンジンと一致する必要があります。エンジンの自動検出は、ユーザー環境に基づいています。Apache Airflow と Kubeflow Pipelines がインストールされていない場合、デフォルトでローカルオーケストレーターが使用されます。
kubeflow
になります。(オプション)コンパイルされたパイプラインへのファイルとしてのパス。コンパイルされたパイプラインは、圧縮ファイル(.tar.gz
、.tgz
、または、.zip
) または YAML ファイル(.yaml
または.yml
)である必要があります。
package-path が指定されていない場合、TFX はデフォルトパスとして次を使用します。<var>current_directory</var>/<var>pipeline_name</var>.tar.gz
(オプション)コンピュータ上の Skaffold へのパス。
例:
Apache Airflow:
tfx pipeline update --engine=airflow --pipeline_path=<var>pipeline-path</var>
Kubeflow:
tfx pipeline update --engine=kubeflow --pipeline_path=<var>pipeline-path</var> --package_path=<var>package-path</var> \ --iap_client_id=<var>iap-client-id</var> --namespace=<var>namespace</var> --endpoint=<var>endpoint</var> \ --skaffold_cmd=<var>skaffold-cmd</var>
ローカル:
tfx pipeline update --engine=local --pipeline_path=<var>pipeline-path</var>
compile
パイプライン構成ファイルをコンパイルして Kubeflow にワークフローファイルを作成し、コンパイル時に次のチェックを実行します。
- パイプラインパスが有効かどうかを確認します。
- パイプラインの詳細がパイプライン構成ファイルから正常に抽出されているかどうかを確認します。
- パイプライン構成の DagRunner がエンジンと一致するかどうかを確認します。
- 提供されたパッケージパスにワークフローファイルが正常に作成されているかどうかを確認します(Kubeflow の場合のみ)。
パイプラインを作成または更新する前に使用することが推薦されます。
使用法:
tfx pipeline compile --pipeline_path=<var>pipeline-path</var> [--engine=<var>engine</var> \ --package_path=<var>package-path</var>]
- --pipeline_path=pipeline-path
- パイプライン構成ファイルへのパス。
- --engine=engine
-
(オプション)パイプラインに使用されるオーケストレーター。エンジンの値は、次のいずれかの値と一致する必要があります。
- airflow: エンジンを Apache Airflow に設定します
- beam: エンジンを Apache Beam に設定します
- kubeflow: エンジンを Kubeflow に設定します
- local: エンジンをローカルオーケストレーターに設定します
エンジンが設定されていない場合、エンジンは環境に基づいて自動検出されます。
**要注意:パイプライン構成ファイルの DagRunner に必要とされるオーケストレーターは、選択されたエンジンまたは自動検出されたエンジンと一致する必要があります。エンジンの自動検出は、ユーザー環境に基づいています。Apache Airflow と Kubeflow Pipelines がインストールされていない場合、デフォルトでローカルオーケストレーターが使用されます。
- --package_path=package-path
-
(オプション)コンパイルされたパイプラインへのファイルとしてのパス。コンパイルされたパイプラインは、圧縮ファイル(
.tar.gz
、.tgz
、または、.zip
) または YAML ファイル(.yaml
または.yml
)である必要があります。package-path が指定されていない場合、TFX はデフォルトパスとして次を使用します。
<var>current_directory</var>/<var>pipeline_name</var>.tar.gz
例:
Apache Airflow
tfx pipeline compile --engine=airflow --pipeline_path=<var>pipeline-path</var>
Kubeflow:
tfx pipeline compile --engine=kubeflow --pipeline_path=<var>pipeline-path</var> --package_path=<var>package-path</var>
ローカル:
tfx pipeline compile --engine=local --pipeline_path=<var>pipeline-path</var>
delete
指定されたオーケストレーターからパイプラインを削除します。
使用法:
tfx pipeline delete --pipeline_path=<var>pipeline-path</var> [--endpoint=<var>endpoint</var> --engine=<var>engine</var> \ --iap_client_id=<var>iap-client-id</var> --namespace=<var>namespace</var>]
- --pipeline_path=pipeline-path
- パイプライン構成ファイルへのパス。
- --endpoint=endpoint
-
(オプション)Kubeflow Pipelines API サービスのエンドポイント。Kubeflow Pipelines API サービスのエンドポイントは、Kubeflow Pipelines ダッシュボードの URL と同じです。エンドポイント値は次のようになります。
<pre>https://<var>host-name</var>/pipeline</pre>
<p>
If you do not know the endpoint for your Kubeflow Pipelines cluster,
contact you cluster administrator.
</p>
<p>
If the <code>--endpoint</code> is not specified, the in-cluster service
DNS name is used as the default value. This name works only if the
CLI command executes in a pod on the Kubeflow Pipelines cluster, such as a
<a href="https://www.kubeflow.org/docs/notebooks/why-use-jupyter-notebook/"
class="external">Kubeflow Jupyter notebooks</a> instance.
</p>
(オプション)パイプラインに使用されるオーケストレーター。エンジンの値は、次のいずれかの値と一致する必要があります。
- airflow: エンジンを Apache Airflow に設定します
- beam: エンジンを Apache Beam に設定します
- kubeflow: エンジンを Kubeflow に設定します
- local: エンジンをローカルオーケストレーターに設定します
エンジンが設定されていない場合、エンジンは環境に基づいて自動検出されます。
**要注意:パイプライン構成ファイルの DagRunner に必要とされるオーケストレーターは、選択されたエンジンまたは自動検出されたエンジンと一致する必要があります。エンジンの自動検出は、ユーザー環境に基づいています。Apache Airflow と Kubeflow Pipelines がインストールされていない場合、デフォルトでローカルオーケストレーターが使用されます。
kubeflow
になります。例:
Apache Airflow:
tfx pipeline delete --engine=airflow --pipeline_name=<var>pipeline-name</var>
Kubeflow:
tfx pipeline delete --engine=kubeflow --pipeline_name=<var>pipeline-name</var> \ --iap_client_id=<var>iap-client-id</var> --namespace=<var>namespace</var> --endpoint=<var>endpoint</var>
ローカル:
tfx pipeline delete --engine=local --pipeline_name=<var>pipeline-name</var>
list
指定されたオーケストレーター内のすべてのパイプラインを一覧表示します。
使用法:
tfx pipeline list [--endpoint=<var>endpoint</var> --engine=<var>engine</var> \ --iap_client_id=<var>iap-client-id</var> --namespace=<var>namespace</var>]
- --endpoint=endpoint
-
(オプション)Kubeflow Pipelines API サービスのエンドポイント。Kubeflow Pipelines API サービスのエンドポイントは、Kubeflow Pipelines ダッシュボードの URL と同じです。エンドポイント値は次のようになります。
<pre>https://<var>host-name</var>/pipeline</pre>
<p>
If you do not know the endpoint for your Kubeflow Pipelines cluster,
contact you cluster administrator.
</p>
<p>
If the <code>--endpoint</code> is not specified, the in-cluster service
DNS name is used as the default value. This name works only if the
CLI command executes in a pod on the Kubeflow Pipelines cluster, such as a
<a href="https://www.kubeflow.org/docs/notebooks/why-use-jupyter-notebook/"
class="external">Kubeflow Jupyter notebooks</a> instance.
</p>
(オプション)パイプラインに使用されるオーケストレーター。エンジンの値は、次のいずれかの値と一致する必要があります。
- airflow: エンジンを Apache Airflow に設定します
- beam: エンジンを Apache Beam に設定します
- kubeflow: エンジンを Kubeflow に設定します
- local: エンジンをローカルオーケストレーターに設定します
エンジンが設定されていない場合、エンジンは環境に基づいて自動検出されます。
**要注意:パイプライン構成ファイルの DagRunner に必要とされるオーケストレーターは、選択されたエンジンまたは自動検出されたエンジンと一致する必要があります。エンジンの自動検出は、ユーザー環境に基づいています。Apache Airflow と Kubeflow Pipelines がインストールされていない場合、デフォルトでローカルオーケストレーターが使用されます。
kubeflow
になります。例:
Apache Airflow:
tfx pipeline list --engine=airflow
Kubeflow:
tfx pipeline list --engine=kubeflow --iap_client_id=<var>iap-client-id</var> \ --namespace=<var>namespace</var> --endpoint=<var>endpoint</var>
ローカル:
tfx pipeline list --engine=local
tfx run
tfx run
コマンドグループのコマンドの構造は次のとおりです。
tfx run <var>command</var> <var>required-flags</var> [<var>optional-flags</var>]
tfx run
コマンドグループのコマンドの詳細については次のセクションを参照してください。
create
オーケストレーターでパイプラインの新しい実行インスタンスを作成します。Kubeflow の場合、クラスター内のパイプラインの最新のパイプラインバージョンが使用されます。
使用法:
tfx run create --pipeline_name=<var>pipeline-name</var> [--endpoint=<var>endpoint</var> \ --engine=<var>engine</var> --iap_client_id=<var>iap-client-id</var> --namespace=<var>namespace</var>]
- --pipeline_name=pipeline-name
- パイプラインの名前。
- --endpoint=endpoint
-
(オプション)Kubeflow Pipelines API サービスのエンドポイント。Kubeflow Pipelines API サービスのエンドポイントは、Kubeflow Pipelines ダッシュボードの URL と同じです。エンドポイント値は次のようになります。
<pre>https://<var>host-name</var>/pipeline</pre>
<p>
If you do not know the endpoint for your Kubeflow Pipelines cluster,
contact you cluster administrator.
</p>
<p>
If the <code>--endpoint</code> is not specified, the in-cluster service
DNS name is used as the default value. This name works only if the
CLI command executes in a pod on the Kubeflow Pipelines cluster, such as a
<a href="https://www.kubeflow.org/docs/notebooks/why-use-jupyter-notebook/"
class="external">Kubeflow Jupyter notebooks</a> instance.
</p>
(オプション)パイプラインに使用されるオーケストレーター。エンジンの値は、次のいずれかの値と一致する必要があります。
- airflow: エンジンを Apache Airflow に設定します
- beam: エンジンを Apache Beam に設定します
- kubeflow: エンジンを Kubeflow に設定します
- local: エンジンをローカルオーケストレーターに設定します
エンジンが設定されていない場合、エンジンは環境に基づいて自動検出されます。
**要注意:パイプライン構成ファイルの DagRunner に必要とされるオーケストレーターは、選択されたエンジンまたは自動検出されたエンジンと一致する必要があります。エンジンの自動検出は、ユーザー環境に基づいています。Apache Airflow と Kubeflow Pipelines がインストールされていない場合、デフォルトでローカルオーケストレーターが使用されます。
kubeflow
になります。例:
Apache Airflow:
tfx run create --engine=airflow --pipeline_name=<var>pipeline-name</var>
Kubeflow:
tfx run create --engine=kubeflow --pipeline_name=<var>pipeline-name</var> --iap_client_id=<var>iap-client-id</var> \ --namespace=<var>namespace</var> --endpoint=<var>endpoint</var>
ローカル:
tfx run create --engine=local --pipeline_name=<var>pipeline-name</var>
terminate
指定されたパイプラインの実行を停止します。
** 要注意:現在、Kubeflow でのみサポートされています。
使用法:
tfx run terminate --run_id=<var>run-id</var> [--endpoint=<var>endpoint</var> --engine=<var>engine</var> \ --iap_client_id=<var>iap-client-id</var> --namespace=<var>namespace</var>]
- --run_id=run-id
- パイプライン実行の一意の識別子。
- --endpoint=endpoint
-
(オプション)Kubeflow Pipelines API サービスのエンドポイント。Kubeflow Pipelines API サービスのエンドポイントは、Kubeflow Pipelines ダッシュボードの URL と同じです。エンドポイント値は次のようになります。
<pre>https://<var>host-name</var>/pipeline</pre>
<p>
If you do not know the endpoint for your Kubeflow Pipelines cluster,
contact you cluster administrator.
</p>
<p>
If the <code>--endpoint</code> is not specified, the in-cluster service
DNS name is used as the default value. This name works only if the
CLI command executes in a pod on the Kubeflow Pipelines cluster, such as a
<a href="https://www.kubeflow.org/docs/notebooks/why-use-jupyter-notebook/"
class="external">Kubeflow Jupyter notebooks</a> instance.
</p>
(オプション)パイプラインに使用されるオーケストレーター。エンジンの値は、次のいずれかの値と一致する必要があります。
- kubeflow: エンジンを Kubeflow に設定します
エンジンが設定されていない場合、エンジンは環境に基づいて自動検出されます。
**要注意:パイプライン構成ファイルの DagRunner に必要とされるオーケストレーターは、選択されたエンジンまたは自動検出されたエンジンと一致する必要があります。エンジンの自動検出は、ユーザー環境に基づいています。Apache Airflow と Kubeflow Pipelines がインストールされていない場合、デフォルトでローカルオーケストレーターが使用されます。
kubeflow
になります。例:
Kubeflow:
tfx run delete --engine=kubeflow --run_id=<var>run-id</var> --iap_client_id=<var>iap-client-id</var> \ --namespace=<var>namespace</var> --endpoint=<var>endpoint</var>
list
パイプラインのすべての実行を一覧表示します。
** 要注意:現在、ローカルおよび ApacheBeam ではサポートされていません。
使用法:
tfx run list --pipeline_name=<var>pipeline-name</var> [--endpoint=<var>endpoint</var> \ --engine=<var>engine</var> --iap_client_id=<var>iap-client-id</var> --namespace=<var>namespace</var>]
- --pipeline_name=pipeline-name
- パイプラインの名前。
- --endpoint=endpoint
-
(オプション)Kubeflow Pipelines API サービスのエンドポイント。Kubeflow Pipelines API サービスのエンドポイントは、Kubeflow Pipelines ダッシュボードの URL と同じです。エンドポイント値は次のようになります。
<pre>https://<var>host-name</var>/pipeline</pre>
<p>
If you do not know the endpoint for your Kubeflow Pipelines cluster,
contact you cluster administrator.
</p>
<p>
If the <code>--endpoint</code> is not specified, the in-cluster service
DNS name is used as the default value. This name works only if the
CLI command executes in a pod on the Kubeflow Pipelines cluster, such as a
<a href="https://www.kubeflow.org/docs/notebooks/why-use-jupyter-notebook/"
class="external">Kubeflow Jupyter notebooks</a> instance.
</p>
(オプション)パイプラインに使用されるオーケストレーター。エンジンの値は、次のいずれかの値と一致する必要があります。
- airflow: エンジンを Apache Airflow に設定します
- kubeflow: エンジンを Kubeflow に設定します
エンジンが設定されていない場合、エンジンは環境に基づいて自動検出されます。
**要注意:パイプライン構成ファイルの DagRunner に必要とされるオーケストレーターは、選択されたエンジンまたは自動検出されたエンジンと一致する必要があります。エンジンの自動検出は、ユーザー環境に基づいています。Apache Airflow と Kubeflow Pipelines がインストールされていない場合、デフォルトでローカルオーケストレーターが使用されます。
kubeflow
になります。例:
Apache Airflow:
tfx run list --engine=airflow --pipeline_name=<var>pipeline-name</var>
Kubeflow:
tfx run list --engine=kubeflow --pipeline_name=<var>pipeline-name</var> --iap_client_id=<var>iap-client-id</var> \ --namespace=<var>namespace</var> --endpoint=<var>endpoint</var>
status
現在の実行のステータスを返します。
** 要注意:現在、ローカルおよび ApacheBeam ではサポートされていません。
使用法:
tfx run status --pipeline_name=<var>pipeline-name</var> --run_id=<var>run-id</var> [--endpoint=<var>endpoint</var> \ --engine=<var>engine</var> --iap_client_id=<var>iap-client-id</var> --namespace=<var>namespace</var>]
- --pipeline_name=pipeline-name
- パイプラインの名前。
- --run_id=run-id
- パイプライン実行の一意の識別子。
- --endpoint=endpoint
-
(オプション)Kubeflow Pipelines API サービスのエンドポイント。Kubeflow Pipelines API サービスのエンドポイントは、Kubeflow Pipelines ダッシュボードの URL と同じです。エンドポイント値は次のようになります。
<pre>https://<var>host-name</var>/pipeline</pre>
<p>
If you do not know the endpoint for your Kubeflow Pipelines cluster,
contact you cluster administrator.
</p>
<p>
If the <code>--endpoint</code> is not specified, the in-cluster service
DNS name is used as the default value. This name works only if the
CLI command executes in a pod on the Kubeflow Pipelines cluster, such as a
<a href="https://www.kubeflow.org/docs/notebooks/why-use-jupyter-notebook/"
class="external">Kubeflow Jupyter notebooks</a> instance.
</p>
(オプション)パイプラインに使用されるオーケストレーター。エンジンの値は、次のいずれかの値と一致する必要があります。
- airflow: エンジンを Apache Airflow に設定します
- kubeflow: エンジンを Kubeflow に設定します
エンジンが設定されていない場合、エンジンは環境に基づいて自動検出されます。
**要注意:パイプライン構成ファイルの DagRunner に必要とされるオーケストレーターは、選択されたエンジンまたは自動検出されたエンジンと一致する必要があります。エンジンの自動検出は、ユーザー環境に基づいています。Apache Airflow と Kubeflow Pipelines がインストールされていない場合、デフォルトでローカルオーケストレーターが使用されます。
kubeflow
になります。例:
Apache Airflow:
tfx run status --engine=airflow --run_id=<var>run-id</var> --pipeline_name=<var>pipeline-name</var>
Kubeflow:
tfx run status --engine=kubeflow --run_id=<var>run-id</var> --pipeline_name=<var>pipeline-name</var> \ --iap_client_id=<var>iap-client-id</var> --namespace=<var>namespace</var> --endpoint=<var>endpoint</var>
delete
指定されたパイプラインの実行を削除します。
** 要注意:現在、Kubeflow でのみサポートされています。
使用法:
tfx run delete --run_id=<var>run-id</var> [--engine=<var>engine</var> --iap_client_id=<var>iap-client-id</var> \ --namespace=<var>namespace</var> --endpoint=<var>endpoint</var>]
- --run_id=run-id
- パイプライン実行の一意の識別子。
- --endpoint=endpoint
-
(オプション)Kubeflow Pipelines API サービスのエンドポイント。Kubeflow Pipelines API サービスのエンドポイントは、Kubeflow Pipelines ダッシュボードの URL と同じです。エンドポイント値は次のようになります。
<pre>https://<var>host-name</var>/pipeline</pre>
<p>
If you do not know the endpoint for your Kubeflow Pipelines cluster,
contact you cluster administrator.
</p>
<p>
If the <code>--endpoint</code> is not specified, the in-cluster service
DNS name is used as the default value. This name works only if the
CLI command executes in a pod on the Kubeflow Pipelines cluster, such as a
<a href="https://www.kubeflow.org/docs/notebooks/why-use-jupyter-notebook/"
class="external">Kubeflow Jupyter notebooks</a> instance.
</p>
(オプション)パイプラインに使用されるオーケストレーター。エンジンの値は、次のいずれかの値と一致する必要があります。
- kubeflow: エンジンを Kubeflow に設定します
エンジンが設定されていない場合、エンジンは環境に基づいて自動検出されます。
**要注意:パイプライン構成ファイルの DagRunner に必要とされるオーケストレーターは、選択されたエンジンまたは自動検出されたエンジンと一致する必要があります。エンジンの自動検出は、ユーザー環境に基づいています。Apache Airflow と Kubeflow Pipelines がインストールされていない場合、デフォルトでローカルオーケストレーターが使用されます。
kubeflow
になります。例:
Kubeflow:
tfx run delete --engine=kubeflow --run_id=<var>run-id</var> --iap_client_id=<var>iap-client-id</var> \ --namespace=<var>namespace</var> --endpoint=<var>endpoint</var>
tfx template[実験的]
tfx template
コマンドグループのコマンドの構造は次のとおりです。
tfx template <var>command</var> <var>required-flags</var> [<var>optional-flags</var>]
tfx template
コマンドグループのコマンドの詳細は次のセクションを参照してください。テンプレートは実験的な機能であり、随時変更される可能性があります。
list
利用可能な TFX パイプラインテンプレートを一覧表示します。
使用法:
tfx template list
copy
テンプレートを宛先ディレクトリにコピーします。
使用法:
tfx template copy --model=<var>model</var> --pipeline_name=<var>pipeline-name</var> \ --destination_path=<var>destination-path</var>
- --model=model
- パイプラインテンプレートにより構築されたモデルの名前。
- --pipeline_name=pipeline-name
- パイプラインの名前。
- --destination_path=destination-path
- テンプレートのコピー先のパス。
TFX CLI フラグを理解する
一般的なフラグ
- --engine=engine
-
パイプラインに使用されるオーケストレーター。エンジンの値は、次のいずれかの値と一致する必要があります。
- airflow: エンジンを Apache Airflow に設定します
- beam: エンジンを Apache Beam に設定します
- kubeflow: エンジンを Kubeflow に設定します
- local: エンジンをローカルオーケストレーターに設定します
エンジンが設定されていない場合、エンジンは環境に基づいて自動検出されます。
**要注意:パイプライン構成ファイルの DagRunner に必要とされるオーケストレーターは、選択されたエンジンまたは自動検出されたエンジンと一致する必要があります。エンジンの自動検出は、ユーザー環境に基づいています。Apache Airflow と Kubeflow Pipelines がインストールされていない場合、デフォルトでローカルオーケストレーターが使用されます。
Kubeflow 特定のフラグ
- --endpoint=endpoint
-
Kubeflow Pipelines API サービスのエンドポイント。Kubeflow Pipelines API サービスのエンドポイントは、Kubeflow Pipelines ダッシュボードの URL と同じです。エンドポイント値は次のようになります。
<pre>https://<var>host-name</var>/pipeline</pre>
<p>
If you do not know the endpoint for your Kubeflow Pipelines cluster,
contact you cluster administrator.
</p>
<p>
If the <code>--endpoint</code> is not specified, the in-cluster service
DNS name is used as the default value. This name works only if the
CLI command executes in a pod on the Kubeflow Pipelines cluster, such as a
<a href="https://www.kubeflow.org/docs/notebooks/why-use-jupyter-notebook/"
class="external">Kubeflow Jupyter notebooks</a> instance.
</p>
kubeflow
になります。コンパイルされたパイプラインへのファイルとしてのパス。コンパイルされたパイプラインは、圧縮ファイル(.tar.gz
、.tgz
、または、.zip
) または YAML ファイル(.yaml
または.yml
)である必要があります。
package-path が指定されていない場合、TFX はデフォルトパスとして次を使用します。<var>current_directory</var>/<var>pipeline_name</var>.tar.gz
TFX CLI により生成されたファイル
パイプラインが作成されて実行されると、パイプライン管理用に複数のファイルが生成されます。
- ${HOME}/tfx/local, beam, airflow
- 構成から読み取られたパイプラインメタデータは、
${HOME}/tfx/${ORCHESTRATION_ENGINE}/${PIPELINE_NAME}
に保存されます。AIRFLOW_HOME
やKUBEFLOW_HOME
などの環境変数を設定することでこの場所をカスタマイズできます。この動作は、将来のリリースで変更される可能性があります。このディレクトリは、実行の作成またはパイプラインの更新に必要なパイプライン情報(パイプライン ID を含む)を Kubeflow Pipelines クラスタに格納するために使用されます。 - TFX 0.25 より前では、これらのファイルは
${HOME}/${ORCHESTRATION_ENGINE}
の下にありました。スムーズに移行するために、TFX 0.25 では、古い場所にあるファイルは自動的に新しい場所に移動されます。 - TFX 0.27 以降、kubeflow はこれらのメタデータファイルをローカルファイルシステムに作成しません。kubeflow が作成する他のファイルについては、以下を参照してください。
- 構成から読み取られたパイプラインメタデータは、
- (Kubeflow のみ) Dockerfile、build.yaml、pipeline_name.tar.gz
- Kubeflow Pipelines では、パイプラインに2種類の入力が必要です。これらのファイルは、現行のディレクトリの TFX により生成されます。
- 1つ目は、パイプラインでコンポーネントを実行するために使用されるコンテナイメージです。このコンテナイメージは、TFX CLI で Kubeflow パイプラインのパイプラインを作成するときに作成されます。TFX は、skaffold を使用してコンテナイメージを構築します。
Dockerfile
とbuild.yaml
は TFX により生成され、skaffold に渡されます(これらのファイル名は指定されており、現時点では変更できません)。 - TFX CLI は、指定されたパイプライン定義を Kubeflow Pipelines が理解できる形式にコンパイルします。コンパイルの結果は、
_pipeline_name_.tar.gz
として保存されます。このファイル名は、--package-path
フラグを使用してカスタマイズできます。