TFX เป็นแพลตฟอร์มที่มีเฟรมเวิร์กเป็นกลาง และสามารถใช้กับเฟรมเวิร์ก ML อื่นๆ ได้ เช่น JAX, scikit-learn
สำหรับนักพัฒนาโมเดล หมายความว่าพวกเขาไม่จำเป็นต้องเขียนโค้ดโมเดลที่ใช้งานในเฟรมเวิร์ก ML อื่นใหม่ แต่สามารถนำโค้ดการฝึกอบรมจำนวนมากกลับมาใช้ใหม่ได้ดังที่เป็นอยู่ใน TFX แทน และได้รับประโยชน์จากความสามารถอื่นๆ TFX และส่วนที่เหลือของ TensorFlow Ecosystem ข้อเสนอ
ไปป์ไลน์ SDK TFX และโมดูลส่วนใหญ่ใน TFX เช่น ไปป์ไลน์ orchestrator ไม่มีการพึ่งพาโดยตรงบน TensorFlow แต่มีบางแง่มุมที่มุ่งเน้นไปที่ TensorFlow เช่น รูปแบบข้อมูล เมื่อพิจารณาถึงความต้องการของเฟรมเวิร์กการสร้างแบบจำลองเฉพาะแล้ว ไปป์ไลน์ TFX สามารถใช้เพื่อฝึกโมเดลในเฟรมเวิร์ก ML ที่ใช้ Python อื่นๆ ได้ ซึ่งรวมถึง Scikit-learn, XGBoost และ PyTorch และอื่นๆ อีกมากมาย ข้อควรพิจารณาบางประการในการใช้ส่วนประกอบ TFX มาตรฐานกับเฟรมเวิร์กอื่นๆ ได้แก่:
- ExampleGen ส่งออก tf.train.Example ในไฟล์ TFRecord เป็นตัวแทนทั่วไปสำหรับข้อมูลการฝึกอบรม และส่วนประกอบดาวน์สตรีมใช้ TFXIO เพื่ออ่านเป็น Arrow/RecordBatch ในหน่วยความจำ ซึ่งสามารถแปลงเป็น
tf.dataset
,Tensors
หรือรูปแบบอื่น ๆ เพิ่มเติมได้ กำลังพิจารณารูปแบบเพย์โหลด/ไฟล์อื่นที่ไม่ใช่ tf.train.Example/TFRecord แต่สำหรับผู้ใช้ TFXIO ควรเป็น blackbox - การแปลง สามารถใช้เพื่อสร้างตัวอย่างการฝึกการแปลงไม่ว่าจะใช้เฟรมเวิร์กใดในการฝึก แต่หากรูปแบบโมเดลไม่ใช่
saved_model
ผู้ใช้จะไม่สามารถฝังกราฟการแปลงลงในโมเดลได้ ในกรณีดังกล่าว การทำนายโมเดลจำเป็นต้องใช้ฟีเจอร์ที่ได้รับการแปลงแทนฟีเจอร์ดิบ และผู้ใช้สามารถเรียกใช้การแปลงเป็นขั้นตอนก่อนการประมวลผลก่อนที่จะเรียกใช้การทำนายโมเดลเมื่อให้บริการ - Trainer รองรับ GenericTraining เพื่อให้ผู้ใช้สามารถฝึกฝนโมเดลของตนโดยใช้เฟรมเวิร์ก ML ใดก็ได้
- ผู้ประเมิน โดยค่าเริ่มต้นรองรับเฉพาะ
saved_model
เท่านั้น แต่ผู้ใช้สามารถจัดเตรียม UDF ที่สร้างการคาดการณ์สำหรับการประเมินโมเดลได้
การฝึกโมเดลในเฟรมเวิร์กที่ไม่ใช่ Python จะต้องมีการแยกส่วนประกอบการฝึกแบบกำหนดเองในคอนเทนเนอร์ Docker ซึ่งเป็นส่วนหนึ่งของไปป์ไลน์ที่ทำงานในสภาพแวดล้อมแบบคอนเทนเนอร์ เช่น Kubernetes
แจ๊กซ์
JAX คือ Autograd และ XLA ที่นำมารวมกันเพื่อการวิจัยแมชชีนเลิร์นนิงประสิทธิภาพสูง Flax คือไลบรารีโครงข่ายประสาทเทียมและระบบนิเวศสำหรับ JAX ซึ่งออกแบบมาเพื่อความยืดหยุ่น
ด้วย jax2tf เราสามารถแปลงโมเดล JAX/Flax ที่ผ่านการฝึกอบรมเป็นรูปแบบ saved_model
ซึ่งสามารถนำไปใช้ได้อย่างราบรื่นใน TFX ด้วยการฝึกอบรมทั่วไปและการประเมินโมเดล สำหรับรายละเอียด โปรดดู ตัวอย่าง นี้
scikit-เรียนรู้
Scikit-learn เป็นไลบรารีการเรียนรู้ของเครื่องสำหรับภาษาการเขียนโปรแกรม Python เรามี ตัวอย่าง e2e พร้อมการฝึกอบรมและการประเมินผลแบบกำหนดเองใน TFX-Addons