TFX 명령줄 인터페이스 사용하기

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>

현재 지원되는 명령 그룹 옵션은 다음과 같습니다.

  • tfx pipeline - TFX 파이프라인을 만들고 관리합니다.
  • tfx run - 다양한 조정 플랫폼에서 TFX 파이프라인 실행을 생성하고 관리합니다.
  • tfx template - TFX 파이프라인 템플릿을 나열하고 복사하기 위한 실험 단계에 있는 명령입니다.

각 명령 그룹은 commands 세트를 제공합니다. 파이프라인 명령, 실행 명령템플릿 명령 섹션의 지침에 따라 이들 명령을 사용하는 방법에 대해 자세히 알아보세요.

경고: 현재, 모든 오케스트레이터에서 모든 명령이 지원되는 것은 아닙니다. 이들 명령은 지원되는 엔진을 명시적으로 언급합니다.

플래그를 사용하면 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> \
--build_image --build_base_image=<var>build-base-image</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>

--engine=engine

(선택 사항) 파이프라인에 사용할 오케스트레이터입니다. 엔진 값은 다음 값 중 하나와 일치해야 합니다.

  • airflow: 엔진을 Apache Airflow로 설정합니다.
  • beam: 엔진을 Apache Beam으로 설정합니다.
  • kubeflow: 엔진을 Kubeflow로 설정합니다.
  • local: 엔진을 로컬 오케스트레이터로 설정합니다.

엔진이 설정되지 않으면, 환경에 따라 엔진이 자동 감지됩니다.

** 중요 참고 사항: 파이프라인 구성 파일에서 DagRunner에 필요한 오케스트레이터는 선택되거나 자동 감지된 엔진과 일치해야 합니다. 엔진 자동 감지는 사용자 환경을 기반으로 합니다. Apache Airflow 및 Kubeflow Pipelines가 설치되지 않은 경우, 기본적으로 로컬 오케스트레이터가 사용됩니다.

--iap_client_id=iap-client-id
(선택 사항) IAP 보호 끝점의 클라이언트 ID입니다.

--namespace=namespace
(선택 사항) Kubeflow Pipelines API에 연결하기 위한 Kubernetes 네임스페이스입니다. 네임스페이스가 지정되지 않으면, kubeflow가 기본값으로 사용됩니다.

--build_image

(선택 사항) enginekubeflow이면 TFX는 지정된 경우 파이프라인에 대한 컨테이너 이미지를 생성합니다. 현재 디렉토리의 Dockerfile이 사용되며, 존재하지 않으면 TFX에서 자동으로 생성합니다.

빌드된 이미지는 KubeflowDagRunnerConfig에 지정된 원격 레지스트리로 푸시됩니다.

--build_base_image=build-base-image

(선택 사항) enginekubeflow이면 TFX는 파이프라인에 대한 컨테이너 이미지를 생성합니다. 빌드 기본 이미지는 파이프라인 컨테이너 이미지를 빌드할 때 사용할 기본 컨테이너 이미지를 지정합니다.

예:

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> \
--iap_client_id=<var>iap-client-id</var> --namespace=<var>namespace</var> --endpoint=<var>endpoint</var> \
--build_image

Local:

tfx pipeline create --engine=local --pipeline_path=<var>pipeline-path</var>

사용자 환경에서 엔진을 자동 감지하려면 아래 예와 같이 engine 플래그를 사용하지 않으면 됩니다. 자세한 내용은 플래그 섹션을 확인하세요.

tfx pipeline create --pipeline_path=<var>pipeline-path</var>

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> --build_image]
--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>

--engine=engine

(선택 사항) 파이프라인에 사용할 오케스트레이터입니다. 엔진 값은 다음 값 중 하나와 일치해야 합니다.

  • airflow: 엔진을 Apache Airflow로 설정합니다.
  • beam: 엔진을 Apache Beam으로 설정합니다.
  • kubeflow: 엔진을 Kubeflow로 설정합니다.
  • local: 엔진을 로컬 오케스트레이터로 설정합니다.

엔진이 설정되지 않으면, 환경에 따라 엔진이 자동 감지됩니다.

** 중요 참고 사항: 파이프라인 구성 파일에서 DagRunner에 필요한 오케스트레이터는 선택되거나 자동 감지된 엔진과 일치해야 합니다. 엔진 자동 감지는 사용자 환경을 기반으로 합니다. Apache Airflow 및 Kubeflow Pipelines가 설치되지 않은 경우, 기본적으로 로컬 오케스트레이터가 사용됩니다.

--iap_client_id=iap-client-id
(선택 사항) IAP 보호 끝점의 클라이언트 ID입니다.
--namespace=namespace
(선택 사항) Kubeflow Pipelines API에 연결하기 위한 Kubernetes 네임스페이스입니다. 네임스페이스가 지정되지 않으면, kubeflow가 기본값으로 사용됩니다.
--build_image

(선택 사항) enginekubeflow이면 TFX는 지정된 경우 파이프라인에 대한 컨테이너 이미지를 생성합니다. 현재 디렉토리의 Dockerfile이 사용됩니다.

빌드된 이미지는 KubeflowDagRunnerConfig에 지정된 원격 레지스트리로 푸시됩니다.

예:

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> \
--iap_client_id=<var>iap-client-id</var> --namespace=<var>namespace</var> --endpoint=<var>endpoint</var> \
--build_image

Local:

tfx pipeline update --engine=local --pipeline_path=<var>pipeline-path</var>

compile

파이프라인 구성 파일을 컴파일하여 Kubeflow에서 워크플로 파일을 만들고 컴파일하는 동안 다음 검사를 수행합니다.

  1. 파이프라인 경로가 유효한지 확인합니다.
  2. 파이프라인 구성 파일에서 파이프라인 세부 정보가 성공적으로 추출되었는지 확인합니다.
  3. 파이프라인 구성의 DagRunner가 엔진과 일치하는지 확인합니다.
  4. 제공된 패키지 경로에 워크플로 파일이 성공적으로 생성되었는지 확인합니다(Kubflow에만 해당).

파이프라인을 생성하거나 업데이트하기 전에 사용하는 것이 좋습니다.

사용법:

tfx pipeline compile --pipeline_path=<var>pipeline-path</var> [--engine=<var>engine</var>]
--pipeline_path=pipeline-path
파이프라인 구성 파일의 경로입니다.
--engine=engine

(선택 사항) 파이프라인에 사용할 오케스트레이터입니다. 엔진 값은 다음 값 중 하나와 일치해야 합니다.

  • airflow: 엔진을 Apache Airflow로 설정합니다.
  • beam: 엔진을 Apache Beam으로 설정합니다.
  • kubeflow: 엔진을 Kubeflow로 설정합니다.
  • local: 엔진을 로컬 오케스트레이터로 설정합니다.

엔진이 설정되지 않으면, 환경에 따라 엔진이 자동 감지됩니다.

** 중요 참고 사항: 파이프라인 구성 파일에서 DagRunner에 필요한 오케스트레이터는 선택되거나 자동 감지된 엔진과 일치해야 합니다. 엔진 자동 감지는 사용자 환경을 기반으로 합니다. Apache Airflow 및 Kubeflow Pipelines가 설치되지 않은 경우, 기본적으로 로컬 오케스트레이터가 사용됩니다.

예:

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>

Local:

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> \<br>--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>

--engine=engine

(선택 사항) 파이프라인에 사용할 오케스트레이터입니다. 엔진 값은 다음 값 중 하나와 일치해야 합니다.

  • airflow: 엔진을 Apache Airflow로 설정합니다.
  • beam: 엔진을 Apache Beam으로 설정합니다.
  • kubeflow: 엔진을 Kubeflow로 설정합니다.
  • local: 엔진을 로컬 오케스트레이터로 설정합니다.

엔진이 설정되지 않으면, 환경에 따라 엔진이 자동 감지됩니다.

** 중요 참고 사항: 파이프라인 구성 파일에서 DagRunner에 필요한 오케스트레이터는 선택되거나 자동 감지된 엔진과 일치해야 합니다. 엔진 자동 감지는 사용자 환경을 기반으로 합니다. Apache Airflow 및 Kubeflow Pipelines가 설치되지 않은 경우, 기본적으로 로컬 오케스트레이터가 사용됩니다.

--iap_client_id=iap-client-id
(선택 사항) IAP 보호 끝점의 클라이언트 ID입니다.

--namespace=namespace
(선택 사항) Kubeflow Pipelines API에 연결하기 위한 Kubernetes 네임스페이스입니다. 네임스페이스가 지정되지 않으면, 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> \<br>--iap_client_id=<var>iap-client-id</var> --namespace=<var>namespace</var> --endpoint=<var>endpoint</var>

Local:

tfx pipeline delete --engine=local --pipeline_name=<var>pipeline-name</var>

list

지정된 오케스트레이터의 모든 파이프라인을 나열합니다.

사용법:

tfx pipeline list [--endpoint=<var>endpoint</var> --engine=<var>engine</var> \<br>--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>

--engine=engine

(선택 사항) 파이프라인에 사용할 오케스트레이터입니다. 엔진 값은 다음 값 중 하나와 일치해야 합니다.

  • airflow: 엔진을 Apache Airflow로 설정합니다.
  • beam: 엔진을 Apache Beam으로 설정합니다.
  • kubeflow: 엔진을 Kubeflow로 설정합니다.
  • local: 엔진을 로컬 오케스트레이터로 설정합니다.

엔진이 설정되지 않으면, 환경에 따라 엔진이 자동 감지됩니다.

** 중요 참고 사항: 파이프라인 구성 파일에서 DagRunner에 필요한 오케스트레이터는 선택되거나 자동 감지된 엔진과 일치해야 합니다. 엔진 자동 감지는 사용자 환경을 기반으로 합니다. Apache Airflow 및 Kubeflow Pipelines가 설치되지 않은 경우, 기본적으로 로컬 오케스트레이터가 사용됩니다.

--iap_client_id=iap-client-id
(선택 사항) IAP 보호 끝점의 클라이언트 ID입니다.

--namespace=namespace
(선택 사항) Kubeflow Pipelines API에 연결하기 위한 Kubernetes 네임스페이스입니다. 네임스페이스가 지정되지 않으면, kubeflow가 기본값으로 사용됩니다.

예:

Apache Airflow:

tfx pipeline list --engine=airflow

Kubeflow:

tfx pipeline list --engine=kubeflow --iap_client_id=<var>iap-client-id</var> \<br>--namespace=<var>namespace</var> --endpoint=<var>endpoint</var>

Local:

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> \<br>--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>

--engine=engine

(선택 사항) 파이프라인에 사용할 오케스트레이터입니다. 엔진 값은 다음 값 중 하나와 일치해야 합니다.

  • airflow: 엔진을 Apache Airflow로 설정합니다.
  • beam: 엔진을 Apache Beam으로 설정합니다.
  • kubeflow: 엔진을 Kubeflow로 설정합니다.
  • local: 엔진을 로컬 오케스트레이터로 설정합니다.

엔진이 설정되지 않으면, 환경에 따라 엔진이 자동 감지됩니다.

** 중요 참고 사항: 파이프라인 구성 파일에서 DagRunner에 필요한 오케스트레이터는 선택되거나 자동 감지된 엔진과 일치해야 합니다. 엔진 자동 감지는 사용자 환경을 기반으로 합니다. Apache Airflow 및 Kubeflow Pipelines가 설치되지 않은 경우, 기본적으로 로컬 오케스트레이터가 사용됩니다.

--iap_client_id=iap-client-id
(선택 사항) IAP 보호 끝점의 클라이언트 ID입니다.

--namespace=namespace
(선택 사항) Kubeflow Pipelines API에 연결하기 위한 Kubernetes 네임스페이스입니다. 네임스페이스가 지정되지 않으면, 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> \<br>--namespace=<var>namespace</var> --endpoint=<var>endpoint</var>

Local:

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> \<br>--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>

--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=<var>run-id</var> --iap_client_id=<var>iap-client-id</var> \<br>--namespace=<var>namespace</var> --endpoint=<var>endpoint</var>

list

파이프라인의 모든 실행을 나열합니다.

** 중요 참고 사항: 현재 로컬 및 Apache Beam에서는 지원되지 않습니다.

사용법:

tfx run list --pipeline_name=<var>pipeline-name</var> [--endpoint=<var>endpoint</var> \<br>--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>

--engine=engine

(선택 사항) 파이프라인에 사용할 오케스트레이터입니다. 엔진 값은 다음 값 중 하나와 일치해야 합니다.

  • airflow: 엔진을 Apache Airflow로 설정합니다.
  • kubeflow: 엔진을 Kubeflow로 설정합니다.

엔진이 설정되지 않으면, 환경에 따라 엔진이 자동 감지됩니다.

** 중요 참고 사항: 파이프라인 구성 파일에서 DagRunner에 필요한 오케스트레이터는 선택되거나 자동 감지된 엔진과 일치해야 합니다. 엔진 자동 감지는 사용자 환경을 기반으로 합니다. Apache Airflow 및 Kubeflow Pipelines가 설치되지 않은 경우, 기본적으로 로컬 오케스트레이터가 사용됩니다.

--iap_client_id=iap-client-id
(선택 사항) IAP 보호 끝점의 클라이언트 ID입니다.

--namespace=namespace
(선택 사항) Kubeflow Pipelines API에 연결하기 위한 Kubernetes 네임스페이스입니다. 네임스페이스가 지정되지 않으면, 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> \<br>--namespace=<var>namespace</var> --endpoint=<var>endpoint</var>

status

실행의 현재 상태를 반환합니다.

** 중요 참고 사항: 현재 로컬 및 Apache Beam에서는 지원되지 않습니다.

사용법:

tfx run status --pipeline_name=<var>pipeline-name</var> --run_id=<var>run-id</var> [--endpoint=<var>endpoint</var> \<br>--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>

--engine=engine

(선택 사항) 파이프라인에 사용할 오케스트레이터입니다. 엔진 값은 다음 값 중 하나와 일치해야 합니다.

  • airflow: 엔진을 Apache Airflow로 설정합니다.
  • kubeflow: 엔진을 Kubeflow로 설정합니다.

엔진이 설정되지 않으면, 환경에 따라 엔진이 자동 감지됩니다.

** 중요 참고 사항: 파이프라인 구성 파일에서 DagRunner에 필요한 오케스트레이터는 선택되거나 자동 감지된 엔진과 일치해야 합니다. 엔진 자동 감지는 사용자 환경을 기반으로 합니다. Apache Airflow 및 Kubeflow Pipelines가 설치되지 않은 경우, 기본적으로 로컬 오케스트레이터가 사용됩니다.

--iap_client_id=iap-client-id
(선택 사항) IAP 보호 끝점의 클라이언트 ID입니다.

--namespace=namespace
(선택 사항) Kubeflow Pipelines API에 연결하기 위한 Kubernetes 네임스페이스입니다. 네임스페이스가 지정되지 않으면, 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> \<br>--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> \<br>--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>

--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=<var>run-id</var> --iap_client_id=<var>iap-client-id</var> \<br>--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> \<br>--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가 설치되지 않은 경우, 기본적으로 로컬 오케스트레이터가 사용됩니다.

--pipeline_name=pipeline-name
파이프라인의 이름입니다.

--pipeline_path=pipeline-path
파이프라인 구성 파일의 경로입니다.

--run_id=run-id
파이프라인 실행의 고유 식별자입니다.

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>

--iap_client_id=iap-client-id
IAP 보호 끝점의 클라이언트 ID입니다.

--namespace=namespace
Kubeflow Pipelines API에 연결하기 위한 Kubernetes 네임스페이스입니다. 네임스페이스가 지정되지 않으면, kubeflow가 기본값으로 사용됩니다.

TFX CLI로 생성된 파일

파이프라인이 생성되고 실행되면 파이프라인 관리를 위해 여러 파일이 생성됩니다.

TFX CLI로 생성된 파일

파이프라인이 생성되고 실행되면 파이프라인 관리를 위해 여러 파일이 생성됩니다.

  • ${HOME}/tfx/local, beam, airflow
    • 구성에서 읽은 파이프라인 메타데이터는 ${HOME}/tfx/${ORCHESTRATION_ENGINE}/${PIPELINE_NAME} 아래에 저장됩니다. AIRFLOW_HOME 또는 KUBEFLOW_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 플래그로 업데이트될 때 빌드됩니다. TFX CLI는 있는 경우 Dockerfile을 생성하고 컨테이너 이미지를 빌드하고 KubeflowDagRunnerConfig에 지정된 레지스트리에 푸시합니다.