การใช้อินเทอร์เฟซบรรทัดคำสั่ง TFX

อินเทอร์เฟซบรรทัดคำสั่ง TFX (CLI) ดำเนินการไปป์ไลน์อย่างเต็มรูปแบบโดยใช้ตัวจัดการไปป์ไลน์ เช่น Kubeflow Pipelines, Vertex Pipelines orchestrator ท้องถิ่นยังสามารถใช้เพื่อการพัฒนาหรือการดีบักที่รวดเร็วยิ่งขึ้น รองรับ Apache Beam และ Apache airflow เป็นคุณสมบัติทดลอง ตัวอย่างเช่น คุณสามารถใช้ CLI เพื่อ:

  • สร้าง อัปเดต และลบไปป์ไลน์
  • รันไปป์ไลน์และติดตามการทำงานของออเคสตราเตอร์ต่างๆ
  • แสดงรายการไปป์ไลน์และการทำงานของไปป์ไลน์

เกี่ยวกับ TFX CLI

TFX CLI ได้รับการติดตั้งเป็นส่วนหนึ่งของแพ็คเกจ TFX คำสั่ง CLI ทั้งหมดเป็นไปตามโครงสร้างด้านล่าง:

tfx command-group command flags

ตัวเลือก command-group ต่อไปนี้ได้รับการสนับสนุนในปัจจุบัน:

  • ไปป์ไลน์ tfx - สร้างและจัดการไปป์ไลน์ TFX
  • tfx run - สร้างและจัดการการรันของไปป์ไลน์ TFX บนแพลตฟอร์มการประสานต่างๆ
  • เทมเพลต tfx - คำสั่งทดลองสำหรับการแสดงรายการและคัดลอกเทมเพลตไปป์ไลน์ TFX

แต่ละกลุ่มคำสั่งจะมีชุด commands ปฏิบัติตามคำแนะนำในส่วน คำสั่งไปป์ไลน์ , เรียกใช้คำสั่ง และ คำสั่งเทมเพลต เพื่อเรียนรู้เพิ่มเติมเกี่ยวกับการใช้คำสั่งเหล่านี้

การตั้งค่าสถานะช่วยให้คุณสามารถส่งผ่านข้อโต้แย้งไปยังคำสั่ง CLI คำในแฟล็กจะคั่นด้วยยัติภังค์ ( - ) หรือขีดล่าง ( _ ) ตัวอย่างเช่น แฟล็กชื่อไปป์ไลน์สามารถระบุเป็น --pipeline-name หรือ --pipeline_name เอกสารนี้ระบุธงที่มีขีดล่างเพื่อความกระชับ เรียนรู้เพิ่มเติมเกี่ยวกับ flags ที่ใช้ใน TFX CLI

ไปป์ไลน์ tfx

โครงสร้างสำหรับคำสั่งในกลุ่มคำสั่ง 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 ของคุณเหมือนกับ URL ของแดชบอร์ด Kubeflow Pipelines ค่าปลายทางของคุณควรมีลักษณะดังนี้:

https://host-name/pipeline

หากคุณไม่ทราบจุดสิ้นสุดสำหรับคลัสเตอร์ Kubeflow Pipelines โปรดติดต่อผู้ดูแลระบบคลัสเตอร์ของคุณ

หากไม่ได้ระบุ --endpoint ชื่อ DNS ของบริการในคลัสเตอร์จะถูกใช้เป็นค่าเริ่มต้น ชื่อนี้จะใช้งานได้ก็ต่อเมื่อคำสั่ง CLI ดำเนินการในพ็อดบนคลัสเตอร์ Kubeflow Pipelines เช่น อินสแตนซ์สมุดบันทึก Kubeflow Jupyter

--เครื่องยนต์= engine

(ไม่บังคับ) ออร์เคสตราที่จะใช้สำหรับไปป์ไลน์ ค่าของเครื่องยนต์ต้องตรงกับค่าต่อไปนี้:

  • kubeflow : ตั้งค่าเอ็นจิ้นเป็น Kubeflow
  • local : ตั้งค่าเอ็นจิ้นเป็น orchestrator ท้องถิ่น
  • vertex : ตั้งค่าเอ็นจิ้นเป็น Vertex Pipelines
  • airflow : (ทดลอง) ตั้งค่าเอ็นจิ้นเป็น Apache Airflow
  • ลำแสง : (ทดลอง) ตั้งค่าเอ็นจิ้นเป็น Apache Beam

หากไม่ได้ตั้งค่าเครื่องยนต์ เครื่องยนต์จะถูกตรวจจับโดยอัตโนมัติตามสภาพแวดล้อม

** หมายเหตุสำคัญ: ตัวจัดการที่ DagRunner ต้องการในไฟล์กำหนดค่าไปป์ไลน์จะต้องตรงกับกลไกที่เลือกหรือตรวจพบอัตโนมัติ การตรวจจับเครื่องยนต์อัตโนมัติขึ้นอยู่กับสภาพแวดล้อมของผู้ใช้ หากไม่ได้ติดตั้ง Apache Airflow และ Kubeflow Pipelines ระบบจะใช้ออเคสตราท้องถิ่นเป็นค่าเริ่มต้น

--iap_client_id= iap-client-id
(ไม่บังคับ) รหัสไคลเอ็นต์สำหรับปลายทางที่ได้รับการป้องกันด้วย IAP เมื่อใช้ Kubeflow Pipelines
--namespace= namespace
(ไม่บังคับ) เนมสเปซ Kubernetes เพื่อเชื่อมต่อกับ Kubeflow Pipelines API หากไม่ได้ระบุเนมสเปซ ค่าดีฟอลต์จะเป็น kubeflow
--build_image

(ไม่บังคับ) เมื่อ engine เป็น kubeflow หรือ vertex TFX จะสร้างอิมเมจคอนเทนเนอร์สำหรับไปป์ไลน์ของคุณ หากมีการระบุ `Dockerfile` ในไดเรกทอรีปัจจุบันจะถูกนำมาใช้ และ TFX จะสร้างขึ้นมาโดยอัตโนมัติหากไม่มีอยู่

อิมเมจที่สร้างขึ้นจะถูกส่งไปยังรีจิสตรีระยะไกลซึ่งระบุไว้ใน `KubeflowDagRunnerConfig` หรือ `KubeflowV2DagRunnerConfig`

--build_base_image= build-base-image

(ไม่บังคับ) เมื่อ engine เป็น kubeflow TFX จะสร้างอิมเมจคอนเทนเนอร์สำหรับไปป์ไลน์ของคุณ อิมเมจฐานบิลด์ระบุอิมเมจคอนเทนเนอร์ฐานที่จะใช้เมื่อสร้างอิมเมจคอนเทนเนอร์ไปป์ไลน์

ตัวอย่าง:

คูเบโฟลว์:

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

จุดยอด:

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 ของคุณเหมือนกับ URL ของแดชบอร์ด Kubeflow Pipelines ค่าปลายทางของคุณควรมีลักษณะดังนี้:

https://host-name/pipeline

หากคุณไม่ทราบจุดสิ้นสุดสำหรับคลัสเตอร์ Kubeflow Pipelines โปรดติดต่อผู้ดูแลระบบคลัสเตอร์ของคุณ

หากไม่ได้ระบุ --endpoint ชื่อ DNS ของบริการในคลัสเตอร์จะถูกใช้เป็นค่าเริ่มต้น ชื่อนี้จะใช้งานได้ก็ต่อเมื่อคำสั่ง CLI ดำเนินการในพ็อดบนคลัสเตอร์ Kubeflow Pipelines เช่น อินสแตนซ์สมุดบันทึก Kubeflow Jupyter

--เครื่องยนต์= engine

(ไม่บังคับ) ออร์เคสตราที่จะใช้สำหรับไปป์ไลน์ ค่าของเครื่องยนต์ต้องตรงกับค่าต่อไปนี้:

  • kubeflow : ตั้งค่าเอ็นจิ้นเป็น Kubeflow
  • local : ตั้งค่าเอ็นจิ้นเป็น orchestrator ท้องถิ่น
  • vertex : ตั้งค่าเอ็นจิ้นเป็น Vertex Pipelines
  • airflow : (ทดลอง) ตั้งค่าเอ็นจิ้นเป็น Apache Airflow
  • ลำแสง : (ทดลอง) ตั้งค่าเอ็นจิ้นเป็น Apache Beam

หากไม่ได้ตั้งค่าเครื่องยนต์ เครื่องยนต์จะถูกตรวจจับโดยอัตโนมัติตามสภาพแวดล้อม

** หมายเหตุสำคัญ: ตัวจัดการที่ DagRunner ต้องการในไฟล์กำหนดค่าไปป์ไลน์จะต้องตรงกับกลไกที่เลือกหรือตรวจพบอัตโนมัติ การตรวจจับเครื่องยนต์อัตโนมัติขึ้นอยู่กับสภาพแวดล้อมของผู้ใช้ หากไม่ได้ติดตั้ง Apache Airflow และ Kubeflow Pipelines ระบบจะใช้ออเคสตราท้องถิ่นเป็นค่าเริ่มต้น

--iap_client_id= iap-client-id
(ไม่บังคับ) รหัสไคลเอ็นต์สำหรับปลายทางที่ได้รับการป้องกันด้วย IAP
--namespace= namespace
(ไม่บังคับ) เนมสเปซ Kubernetes เพื่อเชื่อมต่อกับ Kubeflow Pipelines API หากไม่ได้ระบุเนมสเปซ ค่าดีฟอลต์จะเป็น kubeflow
--build_image

(ไม่บังคับ) เมื่อ engine เป็น kubeflow หรือ vertex TFX จะสร้างอิมเมจคอนเทนเนอร์สำหรับไปป์ไลน์ของคุณ หากมีการระบุ `Dockerfile` ในไดเร็กทอรีปัจจุบันจะถูกนำมาใช้

อิมเมจที่สร้างขึ้นจะถูกส่งไปยังรีจิสตรีระยะไกลซึ่งระบุไว้ใน `KubeflowDagRunnerConfig` หรือ `KubeflowV2DagRunnerConfig`

ตัวอย่าง:

คูเบโฟลว์:

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

จุดยอด:

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

(ไม่บังคับ) ออร์เคสตราที่จะใช้สำหรับไปป์ไลน์ ค่าของเครื่องยนต์ต้องตรงกับค่าต่อไปนี้:

  • kubeflow : ตั้งค่าเอ็นจิ้นเป็น Kubeflow
  • local : ตั้งค่าเอ็นจิ้นเป็น orchestrator ท้องถิ่น
  • vertex : ตั้งค่าเอ็นจิ้นเป็น Vertex Pipelines
  • airflow : (ทดลอง) ตั้งค่าเอ็นจิ้นเป็น Apache Airflow
  • ลำแสง : (ทดลอง) ตั้งค่าเอ็นจิ้นเป็น Apache Beam

หากไม่ได้ตั้งค่าเครื่องยนต์ เครื่องยนต์จะถูกตรวจจับโดยอัตโนมัติตามสภาพแวดล้อม

** หมายเหตุสำคัญ: ตัวจัดการที่ DagRunner ต้องการในไฟล์กำหนดค่าไปป์ไลน์จะต้องตรงกับกลไกที่เลือกหรือตรวจพบอัตโนมัติ การตรวจจับเครื่องยนต์อัตโนมัติขึ้นอยู่กับสภาพแวดล้อมของผู้ใช้ หากไม่ได้ติดตั้ง Apache Airflow และ Kubeflow Pipelines ระบบจะใช้ออเคสตราท้องถิ่นเป็นค่าเริ่มต้น

ตัวอย่าง:

คูเบโฟลว์:

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

ท้องถิ่น:

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

จุดยอด:

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 ของคุณเหมือนกับ URL ของแดชบอร์ด Kubeflow Pipelines ค่าปลายทางของคุณควรมีลักษณะดังนี้:

https://host-name/pipeline

หากคุณไม่ทราบจุดสิ้นสุดสำหรับคลัสเตอร์ Kubeflow Pipelines โปรดติดต่อผู้ดูแลระบบคลัสเตอร์ของคุณ

หากไม่ได้ระบุ --endpoint ชื่อ DNS ของบริการในคลัสเตอร์จะถูกใช้เป็นค่าเริ่มต้น ชื่อนี้จะใช้งานได้ก็ต่อเมื่อคำสั่ง CLI ดำเนินการในพ็อดบนคลัสเตอร์ Kubeflow Pipelines เช่น อินสแตนซ์สมุดบันทึก Kubeflow Jupyter

--เครื่องยนต์= engine

(ไม่บังคับ) ออร์เคสตราที่จะใช้สำหรับไปป์ไลน์ ค่าของเครื่องยนต์ต้องตรงกับค่าต่อไปนี้:

  • kubeflow : ตั้งค่าเอ็นจิ้นเป็น Kubeflow
  • local : ตั้งค่าเอ็นจิ้นเป็น orchestrator ท้องถิ่น
  • vertex : ตั้งค่าเอ็นจิ้นเป็น Vertex Pipelines
  • airflow : (ทดลอง) ตั้งค่าเอ็นจิ้นเป็น Apache Airflow
  • ลำแสง : (ทดลอง) ตั้งค่าเอ็นจิ้นเป็น Apache Beam

หากไม่ได้ตั้งค่าเครื่องยนต์ เครื่องยนต์จะถูกตรวจจับโดยอัตโนมัติตามสภาพแวดล้อม

** หมายเหตุสำคัญ: ตัวจัดการที่ DagRunner ต้องการในไฟล์กำหนดค่าไปป์ไลน์จะต้องตรงกับกลไกที่เลือกหรือตรวจพบอัตโนมัติ การตรวจจับเครื่องยนต์อัตโนมัติขึ้นอยู่กับสภาพแวดล้อมของผู้ใช้ หากไม่ได้ติดตั้ง Apache Airflow และ Kubeflow Pipelines ระบบจะใช้ออเคสตราท้องถิ่นเป็นค่าเริ่มต้น

--iap_client_id= iap-client-id
(ไม่บังคับ) รหัสไคลเอ็นต์สำหรับปลายทางที่ได้รับการป้องกันด้วย IAP
--namespace= namespace
(ไม่บังคับ) เนมสเปซ Kubernetes เพื่อเชื่อมต่อกับ Kubeflow Pipelines API หากไม่ได้ระบุเนมสเปซ ค่าดีฟอลต์จะเป็น 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

จุดยอด:

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

รายการ

แสดงรายการไปป์ไลน์ทั้งหมดใน orchestrator ที่กำหนด

การใช้งาน:

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

(ไม่บังคับ) จุดสิ้นสุดของบริการ Kubeflow Pipelines API จุดสิ้นสุดของบริการ Kubeflow Pipelines API ของคุณเหมือนกับ URL ของแดชบอร์ด Kubeflow Pipelines ค่าปลายทางของคุณควรมีลักษณะดังนี้:

https://host-name/pipeline

หากคุณไม่ทราบจุดสิ้นสุดสำหรับคลัสเตอร์ Kubeflow Pipelines โปรดติดต่อผู้ดูแลระบบคลัสเตอร์ของคุณ

หากไม่ได้ระบุ --endpoint ชื่อ DNS ของบริการในคลัสเตอร์จะถูกใช้เป็นค่าเริ่มต้น ชื่อนี้จะใช้งานได้ก็ต่อเมื่อคำสั่ง CLI ดำเนินการในพ็อดบนคลัสเตอร์ Kubeflow Pipelines เช่น อินสแตนซ์สมุดบันทึก Kubeflow Jupyter

--เครื่องยนต์= engine

(ไม่บังคับ) ออร์เคสตราที่จะใช้สำหรับไปป์ไลน์ ค่าของเครื่องยนต์ต้องตรงกับค่าต่อไปนี้:

  • kubeflow : ตั้งค่าเอ็นจิ้นเป็น Kubeflow
  • local : ตั้งค่าเอ็นจิ้นเป็น orchestrator ท้องถิ่น
  • vertex : ตั้งค่าเอ็นจิ้นเป็น Vertex Pipelines
  • airflow : (ทดลอง) ตั้งค่าเอ็นจิ้นเป็น Apache Airflow
  • ลำแสง : (ทดลอง) ตั้งค่าเอ็นจิ้นเป็น Apache Beam

หากไม่ได้ตั้งค่าเครื่องยนต์ เครื่องยนต์จะถูกตรวจจับโดยอัตโนมัติตามสภาพแวดล้อม

** หมายเหตุสำคัญ: ตัวจัดการที่ DagRunner ต้องการในไฟล์กำหนดค่าไปป์ไลน์จะต้องตรงกับกลไกที่เลือกหรือตรวจพบอัตโนมัติ การตรวจจับเครื่องยนต์อัตโนมัติขึ้นอยู่กับสภาพแวดล้อมของผู้ใช้ หากไม่ได้ติดตั้ง Apache Airflow และ Kubeflow Pipelines ระบบจะใช้ออเคสตราท้องถิ่นเป็นค่าเริ่มต้น

--iap_client_id= iap-client-id
(ไม่บังคับ) รหัสไคลเอ็นต์สำหรับปลายทางที่ได้รับการป้องกันด้วย IAP
--namespace= namespace
(ไม่บังคับ) เนมสเปซ Kubernetes เพื่อเชื่อมต่อกับ Kubeflow Pipelines API หากไม่ได้ระบุเนมสเปซ ค่าจะมีค่าเริ่มต้นเป็น kubeflow

ตัวอย่าง:

คูเบโฟลว์:

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

ท้องถิ่น:

tfx pipeline list --engine=local

จุดยอด:

tfx pipeline list --engine=vertex

วิ่ง tfx

โครงสร้างคำสั่งในกลุ่มคำสั่ง tfx run มีดังนี้:

tfx run command required-flags [optional-flags]

ใช้ส่วนต่อไปนี้เพื่อเรียนรู้เพิ่มเติมเกี่ยวกับคำสั่งในกลุ่มคำสั่ง tfx run

สร้าง

สร้างอินสแตนซ์การเรียกใช้ใหม่สำหรับไปป์ไลน์ใน Orchestrator สำหรับ 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 ของคุณเหมือนกับ URL ของแดชบอร์ด Kubeflow Pipelines ค่าปลายทางของคุณควรมีลักษณะดังนี้:

https://host-name/pipeline

หากคุณไม่ทราบจุดสิ้นสุดสำหรับคลัสเตอร์ Kubeflow Pipelines โปรดติดต่อผู้ดูแลระบบคลัสเตอร์ของคุณ

หากไม่ได้ระบุ --endpoint ชื่อ DNS ของบริการในคลัสเตอร์จะถูกใช้เป็นค่าเริ่มต้น ชื่อนี้จะใช้งานได้ก็ต่อเมื่อคำสั่ง CLI ดำเนินการในพ็อดบนคลัสเตอร์ Kubeflow Pipelines เช่น อินสแตนซ์สมุดบันทึก Kubeflow Jupyter

--เครื่องยนต์= engine

(ไม่บังคับ) ออร์เคสตราที่จะใช้สำหรับไปป์ไลน์ ค่าของเครื่องยนต์ต้องตรงกับค่าต่อไปนี้:

  • kubeflow : ตั้งค่าเอ็นจิ้นเป็น Kubeflow
  • local : ตั้งค่าเอ็นจิ้นเป็น orchestrator ท้องถิ่น
  • vertex : ตั้งค่าเอ็นจิ้นเป็น Vertex Pipelines
  • airflow : (ทดลอง) ตั้งค่าเอ็นจิ้นเป็น Apache Airflow
  • ลำแสง : (ทดลอง) ตั้งค่าเอ็นจิ้นเป็น Apache Beam

หากไม่ได้ตั้งค่าเครื่องยนต์ เครื่องยนต์จะถูกตรวจจับโดยอัตโนมัติตามสภาพแวดล้อม

** หมายเหตุสำคัญ: ตัวจัดการที่ DagRunner ต้องการในไฟล์กำหนดค่าไปป์ไลน์จะต้องตรงกับกลไกที่เลือกหรือตรวจพบอัตโนมัติ การตรวจจับเครื่องยนต์อัตโนมัติขึ้นอยู่กับสภาพแวดล้อมของผู้ใช้ หากไม่ได้ติดตั้ง Apache Airflow และ Kubeflow Pipelines ระบบจะใช้ออเคสตราท้องถิ่นเป็นค่าเริ่มต้น

--runtime_parameter= parameter-name = parameter-value
(ไม่บังคับ) ตั้งค่าพารามิเตอร์รันไทม์ สามารถตั้งค่าได้หลายครั้งเพื่อตั้งค่าตัวแปรหลายตัว ใช้ได้กับเครื่องยนต์ `airflow`, `kubeflow` และ `vertex` เท่านั้น
--iap_client_id= iap-client-id
(ไม่บังคับ) รหัสไคลเอ็นต์สำหรับปลายทางที่ได้รับการป้องกันด้วย IAP
--namespace= namespace
(ไม่บังคับ) เนมสเปซ Kubernetes เพื่อเชื่อมต่อกับ Kubeflow Pipelines API หากไม่ได้ระบุเนมสเปซ ค่าดีฟอลต์จะเป็น kubeflow
--project= GCP-project-id
(จำเป็นสำหรับ Vertex) รหัสโปรเจ็กต์ GCP สำหรับไปป์ไลน์ Vertex
--region= GCP-region
(จำเป็นสำหรับ Vertex) ชื่อภูมิภาค GCP เช่น us-central1 ดู [เอกสาร Vertex](https://cloud.google.com/vertex-ai/docs/general/locations) สำหรับภูมิภาคที่ใช้งานได้

ตัวอย่าง:

คูเบโฟลว์:

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

จุดยอด:

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 ของคุณเหมือนกับ URL ของแดชบอร์ด Kubeflow Pipelines ค่าปลายทางของคุณควรมีลักษณะดังนี้:

https://host-name/pipeline

หากคุณไม่ทราบจุดสิ้นสุดสำหรับคลัสเตอร์ Kubeflow Pipelines โปรดติดต่อผู้ดูแลระบบคลัสเตอร์ของคุณ

หากไม่ได้ระบุ --endpoint ชื่อ DNS ของบริการในคลัสเตอร์จะถูกใช้เป็นค่าเริ่มต้น ชื่อนี้จะใช้งานได้ก็ต่อเมื่อคำสั่ง CLI ดำเนินการในพ็อดบนคลัสเตอร์ Kubeflow Pipelines เช่น อินสแตนซ์สมุดบันทึก Kubeflow Jupyter

--เครื่องยนต์= engine

(ไม่บังคับ) ออร์เคสตราที่จะใช้สำหรับไปป์ไลน์ ค่าของเครื่องยนต์ต้องตรงกับค่าต่อไปนี้:

  • kubeflow : ตั้งค่าเอ็นจิ้นเป็น Kubeflow

หากไม่ได้ตั้งค่าเครื่องยนต์ เครื่องยนต์จะถูกตรวจจับโดยอัตโนมัติตามสภาพแวดล้อม

** หมายเหตุสำคัญ: ตัวจัดการที่ DagRunner ต้องการในไฟล์กำหนดค่าไปป์ไลน์จะต้องตรงกับกลไกที่เลือกหรือตรวจพบอัตโนมัติ การตรวจจับเครื่องยนต์อัตโนมัติขึ้นอยู่กับสภาพแวดล้อมของผู้ใช้ หากไม่ได้ติดตั้ง Apache Airflow และ Kubeflow Pipelines ระบบจะใช้ออเคสตราท้องถิ่นเป็นค่าเริ่มต้น

--iap_client_id= iap-client-id
(ไม่บังคับ) รหัสไคลเอ็นต์สำหรับปลายทางที่ได้รับการป้องกันด้วย IAP
--namespace= namespace
(ไม่บังคับ) เนมสเปซ Kubernetes เพื่อเชื่อมต่อกับ Kubeflow Pipelines API หากไม่ได้ระบุเนมสเปซ ค่าจะมีค่าเริ่มต้นเป็น kubeflow

ตัวอย่าง:

คูเบโฟลว์:

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

รายการ

แสดงรายการการทำงานของไปป์ไลน์ทั้งหมด

** หมายเหตุสำคัญ: ขณะนี้ยังไม่รองรับ Local และ 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 ของคุณเหมือนกับ URL ของแดชบอร์ด Kubeflow Pipelines ค่าปลายทางของคุณควรมีลักษณะดังนี้:

https://host-name/pipeline

หากคุณไม่ทราบจุดสิ้นสุดสำหรับคลัสเตอร์ Kubeflow Pipelines โปรดติดต่อผู้ดูแลระบบคลัสเตอร์ของคุณ

หากไม่ได้ระบุ --endpoint ชื่อ DNS ของบริการในคลัสเตอร์จะถูกใช้เป็นค่าเริ่มต้น ชื่อนี้จะใช้งานได้ก็ต่อเมื่อคำสั่ง CLI ดำเนินการในพ็อดบนคลัสเตอร์ Kubeflow Pipelines เช่น อินสแตนซ์สมุดบันทึก Kubeflow Jupyter

--เครื่องยนต์= engine

(ไม่บังคับ) ออร์เคสตราที่จะใช้สำหรับไปป์ไลน์ ค่าของเครื่องยนต์ต้องตรงกับค่าต่อไปนี้:

  • kubeflow : ตั้งค่าเอ็นจิ้นเป็น Kubeflow
  • airflow : (ทดลอง) ตั้งค่าเอ็นจิ้นเป็น Apache Airflow

หากไม่ได้ตั้งค่าเครื่องยนต์ เครื่องยนต์จะถูกตรวจจับโดยอัตโนมัติตามสภาพแวดล้อม

** หมายเหตุสำคัญ: ตัวจัดการที่ DagRunner ต้องการในไฟล์กำหนดค่าไปป์ไลน์จะต้องตรงกับกลไกที่เลือกหรือตรวจพบอัตโนมัติ การตรวจจับเครื่องยนต์อัตโนมัติขึ้นอยู่กับสภาพแวดล้อมของผู้ใช้ หากไม่ได้ติดตั้ง Apache Airflow และ Kubeflow Pipelines ระบบจะใช้ออเคสตราท้องถิ่นเป็นค่าเริ่มต้น

--iap_client_id= iap-client-id
(ไม่บังคับ) รหัสไคลเอ็นต์สำหรับปลายทางที่ได้รับการป้องกันด้วย IAP
--namespace= namespace
(ไม่บังคับ) เนมสเปซ Kubernetes เพื่อเชื่อมต่อกับ Kubeflow Pipelines API หากไม่ได้ระบุเนมสเปซ ค่าดีฟอลต์จะเป็น kubeflow

ตัวอย่าง:

คูเบโฟลว์:

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

สถานะ

ส่งกลับสถานะปัจจุบันของการรัน

** หมายเหตุสำคัญ: ขณะนี้ยังไม่รองรับ Local และ 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 ของคุณเหมือนกับ URL ของแดชบอร์ด Kubeflow Pipelines ค่าปลายทางของคุณควรมีลักษณะดังนี้:

https://host-name/pipeline

หากคุณไม่ทราบจุดสิ้นสุดสำหรับคลัสเตอร์ Kubeflow Pipelines โปรดติดต่อผู้ดูแลระบบคลัสเตอร์ของคุณ

หากไม่ได้ระบุ --endpoint ชื่อ DNS ของบริการในคลัสเตอร์จะถูกใช้เป็นค่าเริ่มต้น ชื่อนี้จะใช้งานได้ก็ต่อเมื่อคำสั่ง CLI ดำเนินการในพ็อดบนคลัสเตอร์ Kubeflow Pipelines เช่น อินสแตนซ์สมุดบันทึก Kubeflow Jupyter

--เครื่องยนต์= engine

(ไม่บังคับ) ออร์เคสตราที่จะใช้สำหรับไปป์ไลน์ ค่าของเครื่องยนต์ต้องตรงกับค่าต่อไปนี้:

  • kubeflow : ตั้งค่าเอ็นจิ้นเป็น Kubeflow
  • airflow : (ทดลอง) ตั้งค่าเอ็นจิ้นเป็น Apache Airflow

หากไม่ได้ตั้งค่าเครื่องยนต์ เครื่องยนต์จะถูกตรวจจับโดยอัตโนมัติตามสภาพแวดล้อม

** หมายเหตุสำคัญ: ตัวจัดการที่ DagRunner ต้องการในไฟล์กำหนดค่าไปป์ไลน์จะต้องตรงกับกลไกที่เลือกหรือตรวจพบอัตโนมัติ การตรวจจับเครื่องยนต์อัตโนมัติขึ้นอยู่กับสภาพแวดล้อมของผู้ใช้ หากไม่ได้ติดตั้ง Apache Airflow และ Kubeflow Pipelines ระบบจะใช้ออเคสตราท้องถิ่นเป็นค่าเริ่มต้น

--iap_client_id= iap-client-id
(ไม่บังคับ) รหัสไคลเอ็นต์สำหรับปลายทางที่ได้รับการป้องกันด้วย IAP
--namespace= namespace
(ไม่บังคับ) เนมสเปซ Kubernetes เพื่อเชื่อมต่อกับ Kubeflow Pipelines API หากไม่ได้ระบุเนมสเปซ ค่าจะมีค่าเริ่มต้นเป็น 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 ของคุณเหมือนกับ URL ของแดชบอร์ด Kubeflow Pipelines ค่าปลายทางของคุณควรมีลักษณะดังนี้:

https://host-name/pipeline

หากคุณไม่ทราบจุดสิ้นสุดสำหรับคลัสเตอร์ Kubeflow Pipelines โปรดติดต่อผู้ดูแลระบบคลัสเตอร์ของคุณ

หากไม่ได้ระบุ --endpoint ชื่อ DNS ของบริการในคลัสเตอร์จะถูกใช้เป็นค่าเริ่มต้น ชื่อนี้จะใช้งานได้ก็ต่อเมื่อคำสั่ง CLI ดำเนินการในพ็อดบนคลัสเตอร์ Kubeflow Pipelines เช่น อินสแตนซ์สมุดบันทึก Kubeflow Jupyter

--เครื่องยนต์= engine

(ไม่บังคับ) ออร์เคสตราที่จะใช้สำหรับไปป์ไลน์ ค่าของเครื่องยนต์ต้องตรงกับค่าต่อไปนี้:

  • kubeflow : ตั้งค่าเอ็นจิ้นเป็น Kubeflow

หากไม่ได้ตั้งค่าเครื่องยนต์ เครื่องยนต์จะถูกตรวจจับโดยอัตโนมัติตามสภาพแวดล้อม

** หมายเหตุสำคัญ: ตัวจัดการที่ DagRunner ต้องการในไฟล์กำหนดค่าไปป์ไลน์จะต้องตรงกับกลไกที่เลือกหรือตรวจพบอัตโนมัติ การตรวจจับเครื่องยนต์อัตโนมัติขึ้นอยู่กับสภาพแวดล้อมของผู้ใช้ หากไม่ได้ติดตั้ง Apache Airflow และ Kubeflow Pipelines ระบบจะใช้ออเคสตราท้องถิ่นเป็นค่าเริ่มต้น

--iap_client_id= iap-client-id
(ไม่บังคับ) รหัสไคลเอ็นต์สำหรับปลายทางที่ได้รับการป้องกันด้วย IAP
--namespace= namespace
(ไม่บังคับ) เนมสเปซ Kubernetes เพื่อเชื่อมต่อกับ Kubeflow Pipelines API หากไม่ได้ระบุเนมสเปซ ค่าจะมีค่าเริ่มต้นเป็น kubeflow

ตัวอย่าง:

คูเบโฟลว์:

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

เทมเพลต tfx [ทดลอง]

โครงสร้างคำสั่งในกลุ่มคำสั่ง 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

ออร์เคสตราที่จะใช้สำหรับไปป์ไลน์ ค่าของเครื่องยนต์ต้องตรงกับค่าต่อไปนี้:

  • kubeflow : ตั้งค่าเอ็นจิ้นเป็น Kubeflow
  • local : ตั้งค่าเอ็นจิ้นเป็น orchestrator ท้องถิ่น
  • vertex : ตั้งค่าเอ็นจิ้นเป็น Vertex Pipelines
  • airflow : (ทดลอง) ตั้งค่าเอ็นจิ้นเป็น Apache Airflow
  • ลำแสง : (ทดลอง) ตั้งค่าเอ็นจิ้นเป็น 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 ของคุณเหมือนกับ URL ของแดชบอร์ด Kubeflow Pipelines ค่าปลายทางของคุณควรมีลักษณะดังนี้:

https://host-name/pipeline

หากคุณไม่ทราบจุดสิ้นสุดสำหรับคลัสเตอร์ Kubeflow Pipelines โปรดติดต่อผู้ดูแลระบบคลัสเตอร์ของคุณ

หากไม่ได้ระบุ --endpoint ชื่อ DNS ของบริการในคลัสเตอร์จะถูกใช้เป็นค่าเริ่มต้น ชื่อนี้จะใช้งานได้ก็ต่อเมื่อคำสั่ง CLI ดำเนินการในพ็อดบนคลัสเตอร์ Kubeflow Pipelines เช่น อินสแตนซ์สมุดบันทึก Kubeflow Jupyter

--iap_client_id= iap-client-id
รหัสไคลเอ็นต์สำหรับปลายทางที่ได้รับการป้องกันด้วย IAP
--namespace= namespace
เนมสเปซ Kubernetes เพื่อเชื่อมต่อกับ Kubeflow Pipelines API หากไม่ได้ระบุเนมสเปซ ค่าจะมีค่าเริ่มต้นเป็น kubeflow

ไฟล์ที่สร้างโดย TFX CLI

เมื่อมีการสร้างและรันไปป์ไลน์ ไฟล์หลายไฟล์จะถูกสร้างขึ้นสำหรับการจัดการไปป์ไลน์

  • ${HOME}/tfx/local, ลำแสง, การไหลเวียนของอากาศ, จุดยอด
    • ข้อมูลเมตาของไปป์ไลน์ที่อ่านจากการกำหนดค่าจะถูกเก็บไว้ภายใต้ ${HOME}/tfx/${ORCHESTRATION_ENGINE}/${PIPELINE_NAME} ตำแหน่งนี้สามารถปรับแต่งได้โดยการตั้งค่าตัวแปรสภาพแวดล้อม เช่น AIRFLOW_HOME หรือ KUBEFLOW_HOME ลักษณะการทำงานนี้อาจมีการเปลี่ยนแปลงในรุ่นต่อๆ ไป ไดเรกทอรีนี้ใช้เพื่อจัดเก็บข้อมูลไปป์ไลน์ รวมถึงรหัสไปป์ไลน์ในคลัสเตอร์ Kubeflow Pipelines ซึ่งจำเป็นในการสร้างการรันหรืออัปเดตไปป์ไลน์
    • ก่อน TFX 0.25 ไฟล์เหล่านี้อยู่ภายใต้ ${HOME}/${ORCHESTRATION_ENGINE} ใน TFX 0.25 ไฟล์ในตำแหน่งเก่าจะถูกย้ายไปยังตำแหน่งใหม่โดยอัตโนมัติเพื่อการโยกย้ายที่ราบรื่น
    • จาก TFX 0.27 kubeflow จะไม่สร้างไฟล์ข้อมูลเมตาเหล่านี้ในระบบไฟล์ในเครื่อง อย่างไรก็ตาม โปรดดูไฟล์อื่นๆ ที่ kubeflow สร้างขึ้นด้านล่าง
  • (Kubeflow เท่านั้น) Dockerfile และคอนเทนเนอร์อิมเมจ
    • Kubeflow Pipelines ต้องใช้อินพุต 2 ประเภทสำหรับไปป์ไลน์ ไฟล์เหล่านี้สร้างโดย TFX ในไดเร็กทอรีปัจจุบัน
    • หนึ่งคืออิมเมจคอนเทนเนอร์ซึ่งจะใช้ในการเรียกใช้ส่วนประกอบในไปป์ไลน์ อิมเมจคอนเทนเนอร์นี้สร้างขึ้นเมื่อมีการสร้างหรืออัปเดตไปป์ไลน์สำหรับ Kubeflow Pipelines ด้วยแฟล็ก --build-image TFX CLI จะสร้าง Dockerfile หากไม่มี และจะสร้างและพุชอิมเมจคอนเทนเนอร์ไปยังรีจิสทรีที่ระบุใน KubeflowDagRunnerConfig