อินเทอร์เฟซบรรทัดคำสั่ง 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 และดำเนินการตรวจสอบต่อไปนี้ขณะคอมไพล์:
- ตรวจสอบว่าเส้นทางไปป์ไลน์ถูกต้องหรือไม่
- ตรวจสอบว่ารายละเอียดไปป์ไลน์ถูกแยกออกจากไฟล์กำหนดค่าไปป์ไลน์สำเร็จหรือไม่
- ตรวจสอบว่า DagRunner ในการกำหนดค่าไปป์ไลน์ตรงกับกลไกหรือไม่
- ตรวจสอบว่าไฟล์เวิร์กโฟลว์ถูกสร้างขึ้นสำเร็จในเส้นทางแพ็กเกจที่ให้ไว้ (สำหรับ 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