ภาพรวมการแปลงโมเดล

โมเดลแมชชีนเลิร์นนิง (ML) ที่คุณใช้กับ TensorFlow Lite นั้นถูกสร้างขึ้นและฝึกฝนโดยใช้ไลบรารีและเครื่องมือหลักของ TensorFlow เมื่อคุณสร้างโมเดลด้วยแกน TensorFlow แล้ว คุณสามารถแปลงเป็นรูปแบบโมเดล ML ที่เล็กลงและมีประสิทธิภาพมากขึ้น ซึ่งเรียกว่าโมเดล TensorFlow Lite ส่วนนี้ให้คำแนะนำในการแปลงโมเดล TensorFlow ของคุณเป็นรูปแบบโมเดล TensorFlow Lite

เวิร์กโฟลว์การแปลง

การแปลงโมเดล TensorFlow เป็นรูปแบบ TensorFlow Lite อาจใช้ 2-3 เส้นทางขึ้นอยู่กับเนื้อหาของโมเดล ML ของคุณ ในขั้นแรกของกระบวนการนั้น คุณควรประเมินแบบจำลองของคุณเพื่อพิจารณาว่าสามารถแปลงโดยตรงได้หรือไม่ การประเมินนี้กำหนดว่าเนื้อหาของโมเดลได้รับการสนับสนุนโดยสภาพแวดล้อมรันไทม์ TensorFlow Lite มาตรฐานตามการดำเนินการ TensorFlow ที่ใช้หรือไม่ หากแบบจำลองของคุณใช้การดำเนินการนอกชุดที่รองรับ คุณมีตัวเลือกในการจัดโครงสร้างแบบจำลองของคุณใหม่หรือใช้เทคนิคการแปลงขั้นสูง

แผนภาพด้านล่างแสดงขั้นตอนระดับสูงในการแปลงแบบจำลอง

เวิร์กโฟลว์การแปลง TFLite

รูปที่ 1. เวิร์กโฟลว์การแปลง TensorFlow Lite

ส่วนต่อไปนี้จะสรุปกระบวนการประเมินและแปลงโมเดลเพื่อใช้กับ TensorFlow Lite

รูปแบบโมเดลอินพุต

คุณสามารถใช้ตัวแปลงที่มีรูปแบบโมเดลอินพุตต่อไปนี้:

คุณสามารถบันทึกทั้ง Keras และโมเดลฟังก์ชันที่เป็นรูปธรรมเป็น SavedModel และแปลงโดยใช้พาธที่แนะนำ

หากคุณมีโมเดล Jax คุณสามารถใช้ TFLiteConverter.experimental_from_jax API เพื่อแปลงเป็นรูปแบบ TensorFlow Lite โปรดทราบว่า API นี้อาจเปลี่ยนแปลงได้ขณะอยู่ในโหมดทดลอง

การประเมินการแปลง

การประเมินแบบจำลองของคุณเป็นขั้นตอนสำคัญก่อนที่จะพยายามแปลง เมื่อทำการประเมิน คุณต้องการตรวจสอบว่าเนื้อหาของแบบจำลองของคุณเข้ากันได้กับรูปแบบ TensorFlow Lite หรือไม่ คุณควรพิจารณาด้วยว่าโมเดลของคุณเหมาะสมสำหรับการใช้งานบนอุปกรณ์พกพาและอุปกรณ์ Edge หรือไม่ในแง่ของขนาดของข้อมูลที่โมเดลใช้ ข้อกำหนดในการประมวลผลฮาร์ดแวร์ และขนาดและความซับซ้อนโดยรวมของโมเดล

สำหรับหลายรุ่น ตัวแปลงควรทำงานนอกกรอบ อย่างไรก็ตาม ไลบรารีโอเปอเรเตอร์ในตัวของ TensorFlow Lite รองรับชุดย่อยของโอเปอเรเตอร์หลักของ TensorFlow ซึ่งหมายความว่าบางรุ่นอาจต้องการขั้นตอนเพิ่มเติมก่อนที่จะแปลงเป็น TensorFlow Lite นอกจากนี้ การดำเนินการบางอย่างที่รองรับโดย TensorFlow Lite ได้จำกัดข้อกำหนดการใช้งานด้วยเหตุผลด้านประสิทธิภาพ ดูคู่มือ ความเข้ากันได้ของผู้ปฏิบัติงาน เพื่อพิจารณาว่าโมเดลของคุณต้องได้รับการปรับโครงสร้างใหม่เพื่อการแปลงหรือไม่

การแปลงแบบจำลอง

ตัวแปลง TensorFlow Lite ใช้โมเดล TensorFlow และสร้างโมเดล TensorFlow Lite (รูปแบบ FlatBuffer ที่ปรับให้เหมาะสมซึ่งระบุโดยนามสกุลไฟล์ . .tflite ) คุณสามารถโหลด SavedModel หรือแปลงโมเดลที่คุณสร้างในโค้ดได้โดยตรง

ตัวแปลงใช้ 3 แฟล็กหลัก (หรือตัวเลือก) ที่ปรับแต่งการแปลงสำหรับโมเดลของคุณ:

  1. แฟล็กความเข้ากันได้ ช่วยให้คุณระบุว่าการแปลงควรอนุญาตให้ใช้โอเปอเรเตอร์แบบกำหนดเองหรือไม่
  2. แฟล็กการเพิ่มประสิทธิภาพ ช่วยให้คุณสามารถระบุประเภทของการปรับให้เหมาะสมที่จะใช้ระหว่างการแปลง เทคนิคการเพิ่มประสิทธิภาพที่ใช้บ่อยที่สุดคือการหา ปริมาณหลังการฝึก
  3. แฟล็กข้อมูลเมตา ช่วยให้คุณสามารถเพิ่มข้อมูลเมตาไปยังโมเดลที่แปลงแล้ว ซึ่งทำให้ง่ายต่อการสร้างโค้ด wrapper เฉพาะแพลตฟอร์มเมื่อปรับใช้โมเดลบนอุปกรณ์

คุณสามารถแปลงโมเดลของคุณโดยใช้ Python API หรือเครื่องมือ บรรทัดคำสั่ง ดูคู่มือ Convert TF model สำหรับคำแนะนำทีละขั้นตอนในการรันตัวแปลงบนโมเดลของคุณ

โดยปกติ คุณจะแปลงโมเดลของคุณสำหรับสภาพแวดล้อมรันไทม์มาตรฐานของ TensorFlow Lite หรือ สภาพแวดล้อมรันไทม์ ของบริการ Google Play สำหรับ TensorFlow Lite (เบต้า) กรณีการใช้งานขั้นสูงบางกรณีต้องการการปรับแต่งสภาพแวดล้อมรันไทม์ของแบบจำลองเอง ซึ่งจำเป็นต้องมีขั้นตอนเพิ่มเติมในกระบวนการแปลง ดูส่วน สภาพแวดล้อมรันไทม์ขั้นสูง ของภาพรวม Android สำหรับคำแนะนำเพิ่มเติม

การแปลงขั้นสูง

หากคุณพบ ข้อผิดพลาด ขณะเรียกใช้ตัวแปลงในรุ่นของคุณ เป็นไปได้สูงว่าคุณมีปัญหาความเข้ากันได้ของผู้ให้บริการ TensorFlow Lite ไม่รองรับการทำงานของ TensorFlow ทั้งหมด คุณสามารถแก้ไขปัญหาเหล่านี้ได้โดยการปรับโครงสร้างโมเดลของคุณใหม่ หรือใช้ตัวเลือกการแปลงขั้นสูงที่อนุญาตให้คุณสร้างโมเดลรูปแบบ TensorFlow Lite ที่แก้ไขแล้วและสภาพแวดล้อมรันไทม์แบบกำหนดเองสำหรับโมเดลนั้น

  • ดู ภาพรวมความเข้ากันได้ของรุ่น สำหรับข้อมูลเพิ่มเติมเกี่ยวกับข้อควรพิจารณาความเข้ากันได้ของรุ่น TensorFlow และ TensorFlow Lite
  • หัวข้อในภาพรวมความเข้ากันได้ของโมเดลจะครอบคลุมเทคนิคขั้นสูงสำหรับการปรับโครงสร้างโมเดลของคุณใหม่ เช่น คู่มือ Select operators
  • สำหรับรายการการดำเนินการและข้อจำกัดทั้งหมด โปรดดู ที่หน้า TensorFlow Lite Ops

ขั้นตอนถัดไป

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