การใช้คลาส Pipeline
ไปป์ไลน์ TFX ถูกกำหนดโดยใช้ คลาส Pipeline
ตัวอย่างต่อไปนี้สาธิตวิธีการใช้คลาส Pipeline
pipeline.Pipeline( pipeline_name=pipeline-name, pipeline_root=pipeline-root, components=components, enable_cache=enable-cache, metadata_connection_config=metadata-connection-config, )
แทนที่สิ่งต่อไปนี้:
pipeline-name : ชื่อของไปป์ไลน์นี้ ชื่อไปป์ไลน์ต้องไม่ซ้ำกัน
TFX ใช้ชื่อไปป์ไลน์เมื่อสืบค้น ML Metadata สำหรับสิ่งประดิษฐ์อินพุตของส่วนประกอบ การใช้ชื่อไปป์ไลน์ซ้ำอาจทำให้เกิดลักษณะการทำงานที่ไม่คาดคิด
pipeline-root : เส้นทางรูทของเอาต์พุตของไปป์ไลน์นี้ เส้นทางรูทต้องเป็นเส้นทางแบบเต็มไปยังไดเร็กทอรีที่ผู้เรียบเรียงของคุณมีสิทธิ์ในการอ่านและเขียน ณ รันไทม์ TFX จะใช้รูทของไปป์ไลน์เพื่อสร้างเส้นทางเอาต์พุตสำหรับส่วนต่างๆ ของคอมโพเนนต์ ไดเรกทอรีนี้สามารถอยู่ในเครื่องหรือบนระบบไฟล์แบบกระจายที่รองรับ เช่น Google Cloud Storage หรือ HDFS
components : รายการอินสแตนซ์ส่วนประกอบที่ประกอบเป็นเวิร์กโฟลว์ของไปป์ไลน์นี้
enable-cache : (ไม่บังคับ) ค่าบูลีนที่ระบุว่าไปป์ไลน์นี้ใช้แคชเพื่อเร่งการดำเนินการไปป์ไลน์หรือไม่
metadata-connection-config : (ไม่บังคับ) การกำหนดค่าการเชื่อมต่อสำหรับ ML Metadata
การกำหนดกราฟการดำเนินการส่วนประกอบ
อินสแตนซ์คอมโพเนนต์สร้างอาร์ติแฟกต์เป็นเอาต์พุต และโดยทั่วไปจะขึ้นอยู่กับอาร์ติแฟกต์ที่สร้างโดยอินสแตนซ์คอมโพเนนต์อัปสตรีมเป็นอินพุต ลำดับการดำเนินการสำหรับอินสแตนซ์ส่วนประกอบถูกกำหนดโดยการสร้างกราฟอะไซคลิกโดยตรง (DAG) ของการขึ้นต่อกันของอาร์ติแฟกต์
ตัวอย่างเช่น ส่วนประกอบมาตรฐาน ExampleGen
สามารถนำเข้าข้อมูลจากไฟล์ CSV และส่งออกบันทึกตัวอย่างแบบอนุกรมได้ ส่วนประกอบมาตรฐาน StatisticsGen
ยอมรับบันทึกตัวอย่างเหล่านี้เป็นอินพุตและสร้างสถิติชุดข้อมูล ในตัวอย่างนี้ อินสแตนซ์ของ StatisticsGen
ต้องเป็นไปตาม ExampleGen
เนื่องจาก SchemaGen
ขึ้นอยู่กับเอาต์พุตของ ExampleGen
การพึ่งพาตามงาน
คุณยังสามารถกำหนดการขึ้นต่อกันตามงานได้โดยใช้เมธอด add_upstream_node
และ add_downstream_node
ของคอมโพเนนต์ของคุณ add_upstream_node
ช่วยให้คุณระบุว่าส่วนประกอบปัจจุบันจะต้องดำเนินการหลังจากส่วนประกอบที่ระบุ add_downstream_node
ช่วยให้คุณระบุว่าต้องดำเนินการส่วนประกอบปัจจุบันก่อนส่วนประกอบที่ระบุ
เทมเพลตไปป์ไลน์
วิธีที่ง่ายที่สุดในการตั้งค่าไปป์ไลน์อย่างรวดเร็ว และการดูว่าชิ้นส่วนทั้งหมดประกอบเข้าด้วยกันได้อย่างไร คือการใช้เทมเพลต การใช้เทมเพลตครอบคลุมอยู่ใน Building a TFX Pipeline Locally
การแคช
การแคชไปป์ไลน์ TFX ช่วยให้ไปป์ไลน์ของคุณข้ามส่วนประกอบที่ดำเนินการด้วยชุดอินพุตเดียวกันในการเรียกใช้ไปป์ไลน์ครั้งก่อน หากเปิดใช้งานการแคช ไปป์ไลน์จะพยายามจับคู่ลายเซ็นของแต่ละส่วนประกอบ ส่วนประกอบ และชุดอินพุต กับการดำเนินการส่วนประกอบก่อนหน้าของไปป์ไลน์นี้ หากมีข้อมูลที่ตรงกัน ไปป์ไลน์จะใช้เอาต์พุตส่วนประกอบจากการรันครั้งก่อน หากไม่มีค่าที่ตรงกัน ส่วนประกอบจะถูกดำเนินการ
อย่าใช้การแคชหากไปป์ไลน์ของคุณใช้ส่วนประกอบที่ไม่สามารถกำหนดได้ ตัวอย่างเช่น หากคุณสร้างส่วนประกอบเพื่อสร้างตัวเลขสุ่มสำหรับไปป์ไลน์ของคุณ การเปิดใช้งานแคชจะทำให้ส่วนประกอบนี้ดำเนินการเพียงครั้งเดียว ในตัวอย่างนี้ การรันครั้งต่อๆ ไปจะใช้ตัวเลขสุ่มของการรันครั้งแรกแทนการสร้างตัวเลขสุ่ม