สร้างท่อส่ง TFX

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

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