使用 TFX 命令列介面

TFX 命令列介面 (CLI) 使用管線協調器 (例如 Kubeflow Pipelines、Vertex Pipelines) 執行全方位的管線動作。本機協調器也可用於更快速的開發或偵錯。Apache Beam 和 Apache airflow 支援做為實驗性功能。例如,您可以使用 CLI 來

  • 建立、更新和刪除管線。
  • 在各種協調器上執行管線並監控執行情況。
  • 列出管線和管線執行。

關於 TFX CLI

TFX CLI 會與 TFX 套件一同安裝。所有 CLI 命令都遵循下列結構

tfx command-group command flags

目前支援下列 command-group 選項

  • tfx pipeline - 建立和管理 TFX 管線。
  • tfx run - 在各種協調平台建立和管理 TFX 管線的執行。
  • tfx template - 用於列出和複製 TFX 管線範本的實驗性命令。

每個命令群組都提供一組 commands。請按照 管線命令執行命令範本命令章節中的操作說明,進一步瞭解如何使用這些命令。

旗標可讓您將引數傳遞至 CLI 命令。旗標中的字詞會以連字號 (-) 或底線 (_) 分隔。例如,管線名稱旗標可以指定為 --pipeline-name--pipeline_name。本文件為了簡潔起見,以底線指定旗標。進一步瞭解 TFX CLI 中使用的 旗標

tfx pipeline

tfx pipeline 命令群組中命令的結構如下

tfx pipeline command required-flags [optional-flags]

請使用下列章節,進一步瞭解 tfx pipeline 命令群組中的命令。

建立

在指定的協調器中建立新的管線。

用法

tfx pipeline create --pipeline_path=pipeline-path [--endpoint=endpoint --engine=engine \
--iap_client_id=iap-client-id --namespace=namespace \
--build_image --build_base_image=build-base-image]
--pipeline_path=pipeline-path
管線設定檔的路徑。
--endpoint=endpoint

(選用) Kubeflow Pipelines API 服務的端點。您的 Kubeflow Pipelines API 服務的端點與 Kubeflow Pipelines 儀表板的 URL 相同。您的端點值應類似

https://host-name/pipeline

如果您不知道 Kubeflow Pipelines 叢集的端點,請聯絡您的叢集管理員。

如果未指定 --endpoint,則會使用叢集內服務 DNS 名稱做為預設值。這個名稱僅在 CLI 命令於 Kubeflow Pipelines 叢集上的 Pod 中執行時有效,例如 Kubeflow Jupyter Notebook 執行個體。

--engine=engine

(選用) 用於管線的協調器。引擎的值必須與下列值之一相符

  • kubeflow:將引擎設定為 Kubeflow
  • local:將引擎設定為本機協調器
  • vertex:將引擎設定為 Vertex Pipelines
  • airflow:(實驗性) 將引擎設定為 Apache Airflow
  • beam:(實驗性) 將引擎設定為 Apache Beam

如果未設定引擎,則會根據環境自動偵測引擎。

** 重要注意事項:管線設定檔中的 DagRunner 所需的協調器必須與選取或自動偵測到的引擎相符。引擎自動偵測是根據使用者環境。如果未安裝 Apache Airflow 和 Kubeflow Pipelines,則預設會使用本機協調器。

--iap_client_id=iap-client-id
(選用) 使用 Kubeflow Pipelines 時,用於 IAP 保護端點的用戶端 ID。
--namespace=namespace
(選用) 要連線至 Kubeflow Pipelines API 的 Kubernetes 命名空間。如果未指定命名空間,則值預設為 kubeflow
--build_image

(選用) 當 enginekubeflowvertex 時,如果指定,TFX 會為您的管線建立容器映像檔。將使用目前目錄中的 `Dockerfile`,如果不存在,TFX 會自動產生一個。

建構的映像檔將推送至 `KubeflowDagRunnerConfig` 或 `KubeflowV2DagRunnerConfig` 中指定的遠端登錄。

--build_base_image=build-base-image

(選用) 當 enginekubeflow 時,TFX 會為您的管線建立容器映像檔。建構基礎映像檔指定在建構管線容器映像檔時要使用的基礎容器映像檔。

範例

Kubeflow

tfx pipeline create --engine=kubeflow --pipeline_path=pipeline-path \
--iap_client_id=iap-client-id --namespace=namespace --endpoint=endpoint \
--build_image

本機

tfx pipeline create --engine=local --pipeline_path=pipeline-path

Vertex

tfx pipeline create --engine=vertex --pipeline_path=pipeline-path \
--build_image

若要從使用者環境自動偵測引擎,只需避免使用引擎旗標,如下列範例所示。如需更多詳細資訊,請查看旗標章節。

tfx pipeline create --pipeline_path=pipeline-path

更新

更新指定協調器中的現有管線。

用法

tfx pipeline update --pipeline_path=pipeline-path [--endpoint=endpoint --engine=engine \
--iap_client_id=iap-client-id --namespace=namespace --build_image]
--pipeline_path=pipeline-path
管線設定檔的路徑。
--endpoint=endpoint

(選用) Kubeflow Pipelines API 服務的端點。您的 Kubeflow Pipelines API 服務的端點與 Kubeflow Pipelines 儀表板的 URL 相同。您的端點值應類似

https://host-name/pipeline

如果您不知道 Kubeflow Pipelines 叢集的端點,請聯絡您的叢集管理員。

如果未指定 --endpoint,則會使用叢集內服務 DNS 名稱做為預設值。這個名稱僅在 CLI 命令於 Kubeflow Pipelines 叢集上的 Pod 中執行時有效,例如 Kubeflow Jupyter Notebook 執行個體。

--engine=engine

(選用) 用於管線的協調器。引擎的值必須與下列值之一相符

  • kubeflow:將引擎設定為 Kubeflow
  • local:將引擎設定為本機協調器
  • vertex:將引擎設定為 Vertex Pipelines
  • airflow:(實驗性) 將引擎設定為 Apache Airflow
  • beam:(實驗性) 將引擎設定為 Apache Beam

如果未設定引擎,則會根據環境自動偵測引擎。

** 重要注意事項:管線設定檔中的 DagRunner 所需的協調器必須與選取或自動偵測到的引擎相符。引擎自動偵測是根據使用者環境。如果未安裝 Apache Airflow 和 Kubeflow Pipelines,則預設會使用本機協調器。

--iap_client_id=iap-client-id
(選用) 用於 IAP 保護端點的用戶端 ID。
--namespace=namespace
(選用) 要連線至 Kubeflow Pipelines API 的 Kubernetes 命名空間。如果未指定命名空間,則值預設為 kubeflow
--build_image

(選用) 當 enginekubeflowvertex 時,如果指定,TFX 會為您的管線建立容器映像檔。將使用目前目錄中的 `Dockerfile`。

建構的映像檔將推送至 `KubeflowDagRunnerConfig` 或 `KubeflowV2DagRunnerConfig` 中指定的遠端登錄。

範例

Kubeflow

tfx pipeline update --engine=kubeflow --pipeline_path=pipeline-path \
--iap_client_id=iap-client-id --namespace=namespace --endpoint=endpoint \
--build_image

本機

tfx pipeline update --engine=local --pipeline_path=pipeline-path

Vertex

tfx pipeline update --engine=vertex --pipeline_path=pipeline-path \
--build_image

編譯

編譯管線設定檔以在 Kubeflow 中建立工作流程檔案,並在編譯時執行下列檢查

  1. 檢查管線路徑是否有效。
  2. 檢查是否已從管線設定檔成功擷取管線詳細資訊。
  3. 檢查管線設定檔中的 DagRunner 是否與引擎相符。
  4. 檢查是否已在提供的套件路徑中成功建立工作流程檔案 (僅適用於 Kubeflow)。

建議在建立或更新管線之前使用。

用法

tfx pipeline compile --pipeline_path=pipeline-path [--engine=engine]
--pipeline_path=pipeline-path
管線設定檔的路徑。
--engine=engine

(選用) 用於管線的協調器。引擎的值必須與下列值之一相符

  • kubeflow:將引擎設定為 Kubeflow
  • local:將引擎設定為本機協調器
  • vertex:將引擎設定為 Vertex Pipelines
  • airflow:(實驗性) 將引擎設定為 Apache Airflow
  • beam:(實驗性) 將引擎設定為 Apache Beam

如果未設定引擎,則會根據環境自動偵測引擎。

** 重要注意事項:管線設定檔中的 DagRunner 所需的協調器必須與選取或自動偵測到的引擎相符。引擎自動偵測是根據使用者環境。如果未安裝 Apache Airflow 和 Kubeflow Pipelines,則預設會使用本機協調器。

範例

Kubeflow

tfx pipeline compile --engine=kubeflow --pipeline_path=pipeline-path

本機

tfx pipeline compile --engine=local --pipeline_path=pipeline-path

Vertex

tfx pipeline compile --engine=vertex --pipeline_path=pipeline-path

刪除

從指定的協調器刪除管線。

用法

tfx pipeline delete --pipeline_path=pipeline-path [--endpoint=endpoint --engine=engine \
--iap_client_id=iap-client-id --namespace=namespace]
--pipeline_path=pipeline-path
管線設定檔的路徑。
--endpoint=endpoint

(選用) Kubeflow Pipelines API 服務的端點。您的 Kubeflow Pipelines API 服務的端點與 Kubeflow Pipelines 儀表板的 URL 相同。您的端點值應類似

https://host-name/pipeline

如果您不知道 Kubeflow Pipelines 叢集的端點,請聯絡您的叢集管理員。

如果未指定 --endpoint,則會使用叢集內服務 DNS 名稱做為預設值。這個名稱僅在 CLI 命令於 Kubeflow Pipelines 叢集上的 Pod 中執行時有效,例如 Kubeflow Jupyter Notebook 執行個體。

--engine=engine

(選用) 用於管線的協調器。引擎的值必須與下列值之一相符

  • kubeflow:將引擎設定為 Kubeflow
  • local:將引擎設定為本機協調器
  • vertex:將引擎設定為 Vertex Pipelines
  • airflow:(實驗性) 將引擎設定為 Apache Airflow
  • beam:(實驗性) 將引擎設定為 Apache Beam

如果未設定引擎,則會根據環境自動偵測引擎。

** 重要注意事項:管線設定檔中的 DagRunner 所需的協調器必須與選取或自動偵測到的引擎相符。引擎自動偵測是根據使用者環境。如果未安裝 Apache Airflow 和 Kubeflow Pipelines,則預設會使用本機協調器。

--iap_client_id=iap-client-id
(選用) 用於 IAP 保護端點的用戶端 ID。
--namespace=namespace
(選用) 要連線至 Kubeflow Pipelines API 的 Kubernetes 命名空間。如果未指定命名空間,則值預設為 kubeflow

範例

Kubeflow

tfx pipeline delete --engine=kubeflow --pipeline_name=pipeline-name \
--iap_client_id=iap-client-id --namespace=namespace --endpoint=endpoint

本機

tfx pipeline delete --engine=local --pipeline_name=pipeline-name

Vertex

tfx pipeline delete --engine=vertex --pipeline_name=pipeline-name

清單

列出指定協調器中的所有管線。

用法

tfx pipeline list [--endpoint=endpoint --engine=engine \
--iap_client_id=iap-client-id --namespace=namespace]
--endpoint=endpoint

(選用) Kubeflow Pipelines API 服務的端點。您的 Kubeflow Pipelines API 服務的端點與 Kubeflow Pipelines 儀表板的 URL 相同。您的端點值應類似

https://host-name/pipeline

如果您不知道 Kubeflow Pipelines 叢集的端點,請聯絡您的叢集管理員。

如果未指定 --endpoint,則會使用叢集內服務 DNS 名稱做為預設值。這個名稱僅在 CLI 命令於 Kubeflow Pipelines 叢集上的 Pod 中執行時有效,例如 Kubeflow Jupyter Notebook 執行個體。

--engine=engine

(選用) 用於管線的協調器。引擎的值必須與下列值之一相符

  • kubeflow:將引擎設定為 Kubeflow
  • local:將引擎設定為本機協調器
  • vertex:將引擎設定為 Vertex Pipelines
  • airflow:(實驗性) 將引擎設定為 Apache Airflow
  • beam:(實驗性) 將引擎設定為 Apache Beam

如果未設定引擎,則會根據環境自動偵測引擎。

** 重要注意事項:管線設定檔中的 DagRunner 所需的協調器必須與選取或自動偵測到的引擎相符。引擎自動偵測是根據使用者環境。如果未安裝 Apache Airflow 和 Kubeflow Pipelines,則預設會使用本機協調器。

--iap_client_id=iap-client-id
(選用) 用於 IAP 保護端點的用戶端 ID。
--namespace=namespace
(選用) 要連線至 Kubeflow Pipelines API 的 Kubernetes 命名空間。如果未指定命名空間,則值預設為 kubeflow

範例

Kubeflow

tfx pipeline list --engine=kubeflow --iap_client_id=iap-client-id \
--namespace=namespace --endpoint=endpoint

本機

tfx pipeline list --engine=local

Vertex

tfx pipeline list --engine=vertex

tfx run

tfx run 命令群組中命令的結構如下

tfx run command required-flags [optional-flags]

請使用下列章節,進一步瞭解 tfx run 命令群組中的命令。

建立

在協調器中為管線建立新的執行個體。對於 Kubeflow,會使用叢集中管線的最新管線版本。

用法

tfx run create --pipeline_name=pipeline-name [--endpoint=endpoint \
--engine=engine --iap_client_id=iap-client-id --namespace=namespace]
--pipeline_name=pipeline-name
管線的名稱。
--endpoint=endpoint

(選用) Kubeflow Pipelines API 服務的端點。您的 Kubeflow Pipelines API 服務的端點與 Kubeflow Pipelines 儀表板的 URL 相同。您的端點值應類似

https://host-name/pipeline

如果您不知道 Kubeflow Pipelines 叢集的端點,請聯絡您的叢集管理員。

如果未指定 --endpoint,則會使用叢集內服務 DNS 名稱做為預設值。這個名稱僅在 CLI 命令於 Kubeflow Pipelines 叢集上的 Pod 中執行時有效,例如 Kubeflow Jupyter Notebook 執行個體。

--engine=engine

(選用) 用於管線的協調器。引擎的值必須與下列值之一相符

  • kubeflow:將引擎設定為 Kubeflow
  • local:將引擎設定為本機協調器
  • vertex:將引擎設定為 Vertex Pipelines
  • airflow:(實驗性) 將引擎設定為 Apache Airflow
  • beam:(實驗性) 將引擎設定為 Apache Beam

如果未設定引擎,則會根據環境自動偵測引擎。

** 重要注意事項:管線設定檔中的 DagRunner 所需的協調器必須與選取或自動偵測到的引擎相符。引擎自動偵測是根據使用者環境。如果未安裝 Apache Airflow 和 Kubeflow Pipelines,則預設會使用本機協調器。

--runtime_parameter=parameter-name=parameter-value
(選用) 設定執行階段參數值。可以設定多次以設定多個變數的值。僅適用於 `airflow`、`kubeflow` 和 `vertex` 引擎。
--iap_client_id=iap-client-id
(選用) 用於 IAP 保護端點的用戶端 ID。
--namespace=namespace
(選用) 要連線至 Kubeflow Pipelines API 的 Kubernetes 命名空間。如果未指定命名空間,則值預設為 kubeflow
--project=GCP-project-id
(Vertex 的必要項目) Vertex 管線的 GCP 專案 ID。
--region=GCP-region
(Vertex 的必要項目) GCP 區域名稱,例如 us-central1。如需可用區域,請參閱 [Vertex 文件](https://cloud.google.com/vertex-ai/docs/general/locations)。

範例

Kubeflow

tfx run create --engine=kubeflow --pipeline_name=pipeline-name --iap_client_id=iap-client-id \
--namespace=namespace --endpoint=endpoint

本機

tfx run create --engine=local --pipeline_name=pipeline-name

Vertex

tfx run create --engine=vertex --pipeline_name=pipeline-name \
  --runtime_parameter=var_name=var_value \
  --project=gcp-project-id --region=gcp-region

終止

停止指定管線的執行。

** 重要注意事項:目前僅 Kubeflow 支援。

用法

tfx run terminate --run_id=run-id [--endpoint=endpoint --engine=engine \
--iap_client_id=iap-client-id --namespace=namespace]
--run_id=run-id
管線執行的唯一識別碼。
--endpoint=endpoint

(選用) Kubeflow Pipelines API 服務的端點。您的 Kubeflow Pipelines API 服務的端點與 Kubeflow Pipelines 儀表板的 URL 相同。您的端點值應類似

https://host-name/pipeline

如果您不知道 Kubeflow Pipelines 叢集的端點,請聯絡您的叢集管理員。

如果未指定 --endpoint,則會使用叢集內服務 DNS 名稱做為預設值。這個名稱僅在 CLI 命令於 Kubeflow Pipelines 叢集上的 Pod 中執行時有效,例如 Kubeflow Jupyter Notebook 執行個體。

--engine=engine

(選用) 用於管線的協調器。引擎的值必須與下列值之一相符

  • kubeflow:將引擎設定為 Kubeflow

如果未設定引擎,則會根據環境自動偵測引擎。

** 重要注意事項:管線設定檔中的 DagRunner 所需的協調器必須與選取或自動偵測到的引擎相符。引擎自動偵測是根據使用者環境。如果未安裝 Apache Airflow 和 Kubeflow Pipelines,則預設會使用本機協調器。

--iap_client_id=iap-client-id
(選用) 用於 IAP 保護端點的用戶端 ID。
--namespace=namespace
(選用) 要連線至 Kubeflow Pipelines API 的 Kubernetes 命名空間。如果未指定命名空間,則值預設為 kubeflow

範例

Kubeflow

tfx run delete --engine=kubeflow --run_id=run-id --iap_client_id=iap-client-id \
--namespace=namespace --endpoint=endpoint

清單

列出管線的所有執行。

** 重要注意事項:目前本機和 Apache Beam 不支援。

用法

tfx run list --pipeline_name=pipeline-name [--endpoint=endpoint \
--engine=engine --iap_client_id=iap-client-id --namespace=namespace]
--pipeline_name=pipeline-name
管線的名稱。
--endpoint=endpoint

(選用) Kubeflow Pipelines API 服務的端點。您的 Kubeflow Pipelines API 服務的端點與 Kubeflow Pipelines 儀表板的 URL 相同。您的端點值應類似

https://host-name/pipeline

如果您不知道 Kubeflow Pipelines 叢集的端點,請聯絡您的叢集管理員。

如果未指定 --endpoint,則會使用叢集內服務 DNS 名稱做為預設值。這個名稱僅在 CLI 命令於 Kubeflow Pipelines 叢集上的 Pod 中執行時有效,例如 Kubeflow Jupyter Notebook 執行個體。

--engine=engine

(選用) 用於管線的協調器。引擎的值必須與下列值之一相符

  • kubeflow:將引擎設定為 Kubeflow
  • airflow:(實驗性) 將引擎設定為 Apache Airflow

如果未設定引擎,則會根據環境自動偵測引擎。

** 重要注意事項:管線設定檔中的 DagRunner 所需的協調器必須與選取或自動偵測到的引擎相符。引擎自動偵測是根據使用者環境。如果未安裝 Apache Airflow 和 Kubeflow Pipelines,則預設會使用本機協調器。

--iap_client_id=iap-client-id
(選用) 用於 IAP 保護端點的用戶端 ID。
--namespace=namespace
(選用) 要連線至 Kubeflow Pipelines API 的 Kubernetes 命名空間。如果未指定命名空間,則值預設為 kubeflow

範例

Kubeflow

tfx run list --engine=kubeflow --pipeline_name=pipeline-name --iap_client_id=iap-client-id \
--namespace=namespace --endpoint=endpoint

狀態

傳回執行的目前狀態。

** 重要注意事項:目前本機和 Apache Beam 不支援。

用法

tfx run status --pipeline_name=pipeline-name --run_id=run-id [--endpoint=endpoint \
--engine=engine --iap_client_id=iap-client-id --namespace=namespace]
--pipeline_name=pipeline-name
管線的名稱。
--run_id=run-id
管線執行的唯一識別碼。
--endpoint=endpoint

(選用) Kubeflow Pipelines API 服務的端點。您的 Kubeflow Pipelines API 服務的端點與 Kubeflow Pipelines 儀表板的 URL 相同。您的端點值應類似

https://host-name/pipeline

如果您不知道 Kubeflow Pipelines 叢集的端點,請聯絡您的叢集管理員。

如果未指定 --endpoint,則會使用叢集內服務 DNS 名稱做為預設值。這個名稱僅在 CLI 命令於 Kubeflow Pipelines 叢集上的 Pod 中執行時有效,例如 Kubeflow Jupyter Notebook 執行個體。

--engine=engine

(選用) 用於管線的協調器。引擎的值必須與下列值之一相符

  • kubeflow:將引擎設定為 Kubeflow
  • airflow:(實驗性) 將引擎設定為 Apache Airflow

如果未設定引擎,則會根據環境自動偵測引擎。

** 重要注意事項:管線設定檔中的 DagRunner 所需的協調器必須與選取或自動偵測到的引擎相符。引擎自動偵測是根據使用者環境。如果未安裝 Apache Airflow 和 Kubeflow Pipelines,則預設會使用本機協調器。

--iap_client_id=iap-client-id
(選用) 用於 IAP 保護端點的用戶端 ID。
--namespace=namespace
(選用) 要連線至 Kubeflow Pipelines API 的 Kubernetes 命名空間。如果未指定命名空間,則值預設為 kubeflow

範例

Kubeflow

tfx run status --engine=kubeflow --run_id=run-id --pipeline_name=pipeline-name \
--iap_client_id=iap-client-id --namespace=namespace --endpoint=endpoint

刪除

刪除指定管線的執行。

** 重要注意事項:目前僅 Kubeflow 支援

用法

tfx run delete --run_id=run-id [--engine=engine --iap_client_id=iap-client-id \
--namespace=namespace --endpoint=endpoint]
--run_id=run-id
管線執行的唯一識別碼。
--endpoint=endpoint

(選用) Kubeflow Pipelines API 服務的端點。您的 Kubeflow Pipelines API 服務的端點與 Kubeflow Pipelines 儀表板的 URL 相同。您的端點值應類似

https://host-name/pipeline

如果您不知道 Kubeflow Pipelines 叢集的端點,請聯絡您的叢集管理員。

如果未指定 --endpoint,則會使用叢集內服務 DNS 名稱做為預設值。這個名稱僅在 CLI 命令於 Kubeflow Pipelines 叢集上的 Pod 中執行時有效,例如 Kubeflow Jupyter Notebook 執行個體。

--engine=engine

(選用) 用於管線的協調器。引擎的值必須與下列值之一相符

  • kubeflow:將引擎設定為 Kubeflow

如果未設定引擎,則會根據環境自動偵測引擎。

** 重要注意事項:管線設定檔中的 DagRunner 所需的協調器必須與選取或自動偵測到的引擎相符。引擎自動偵測是根據使用者環境。如果未安裝 Apache Airflow 和 Kubeflow Pipelines,則預設會使用本機協調器。

--iap_client_id=iap-client-id
(選用) 用於 IAP 保護端點的用戶端 ID。
--namespace=namespace
(選用) 要連線至 Kubeflow Pipelines API 的 Kubernetes 命名空間。如果未指定命名空間,則值預設為 kubeflow

範例

Kubeflow

tfx run delete --engine=kubeflow --run_id=run-id --iap_client_id=iap-client-id \
--namespace=namespace --endpoint=endpoint

tfx template [實驗性]

tfx template 命令群組中命令的結構如下

tfx template command required-flags [optional-flags]

請使用下列章節,進一步瞭解 tfx template 命令群組中的命令。範本是一項實驗性功能,隨時可能變更。

清單

列出可用的 TFX 管線範本。

用法

tfx template list

複製

將範本複製到目的地目錄。

用法

tfx template copy --model=model --pipeline_name=pipeline-name \
--destination_path=destination-path
--model=model
管線範本建構的模型名稱。
--pipeline_name=pipeline-name
管線的名稱。
--destination_path=destination-path
要將範本複製到的路徑。

瞭解 TFX CLI 旗標

通用旗標

--engine=engine

用於管線的協調器。引擎的值必須與下列值之一相符

  • kubeflow:將引擎設定為 Kubeflow
  • local:將引擎設定為本機協調器
  • vertex:將引擎設定為 Vertex Pipelines
  • airflow:(實驗性) 將引擎設定為 Apache Airflow
  • beam:(實驗性) 將引擎設定為 Apache Beam

如果未設定引擎,則會根據環境自動偵測引擎。

** 重要注意事項:管線設定檔中的 DagRunner 所需的協調器必須與選取或自動偵測到的引擎相符。引擎自動偵測是根據使用者環境。如果未安裝 Apache Airflow 和 Kubeflow Pipelines,則預設會使用本機協調器。

--pipeline_name=pipeline-name
管線的名稱。
--pipeline_path=pipeline-path
管線設定檔的路徑。
--run_id=run-id
管線執行的唯一識別碼。

Kubeflow 特定旗標

--endpoint=endpoint

Kubeflow Pipelines API 服務的端點。您的 Kubeflow Pipelines API 服務的端點與 Kubeflow Pipelines 儀表板的 URL 相同。您的端點值應類似

https://host-name/pipeline

如果您不知道 Kubeflow Pipelines 叢集的端點,請聯絡您的叢集管理員。

如果未指定 --endpoint,則會使用叢集內服務 DNS 名稱做為預設值。這個名稱僅在 CLI 命令於 Kubeflow Pipelines 叢集上的 Pod 中執行時有效,例如 Kubeflow Jupyter Notebook 執行個體。

--iap_client_id=iap-client-id
用於 IAP 保護端點的用戶端 ID。
--namespace=namespace
要連線至 Kubeflow Pipelines API 的 Kubernetes 命名空間。如果未指定命名空間,則值預設為 kubeflow

TFX CLI 產生的檔案

建立和執行管線時,會產生多個檔案以進行管線管理。

  • ${HOME}/tfx/local, beam, airflow, vertex
    • 從設定讀取的管線中繼資料會儲存在 ${HOME}/tfx/${ORCHESTRATION_ENGINE}/${PIPELINE_NAME} 下。此位置可以透過設定環境變數 (例如 AIRFLOW_HOMEKUBEFLOW_HOME) 進行自訂。此行為在未來的版本中可能會變更。此目錄用於儲存管線資訊,包括 Kubeflow Pipelines 叢集中的管線 ID,這是建立執行或更新管線所需的資訊。
    • 在 TFX 0.25 之前,這些檔案位於 ${HOME}/${ORCHESTRATION_ENGINE} 下。在 TFX 0.25 中,舊位置中的檔案將自動移至新位置,以便順利移轉。
    • 從 TFX 0.27 開始,kubeflow 不會在本機檔案系統中建立這些中繼資料檔案。但是,如需 kubeflow 建立的其他檔案,請參閱下文。
  • (僅限 Kubeflow) Dockerfile 和容器映像檔
    • Kubeflow Pipelines 需要兩種管線輸入。這些檔案由 TFX 在目前目錄中產生。
    • 其中一個是容器映像檔,將用於執行管線中的元件。當為 Kubeflow Pipelines 建立或更新管線時,會使用 --build-image 旗標建構此容器映像檔。如果 Dockerfile 不存在,TFX CLI 會產生該檔案,並建構容器映像檔並將其推送至 KubeflowDagRunnerConfig 中指定的登錄。