การใช้ TensorFlow Lite กับ Python เหมาะกับอุปกรณ์แบบฝังที่อิงตาม Linux เช่น Raspberry Pi และอุปกรณ์ Coral ที่มี Edge TPU และอีกมากมาย
หน้านี้แสดงวิธีเรียกใช้โมเดล TensorFlow Lite ด้วย Python ในเวลาเพียงไม่กี่นาที เพียงใช้โมเดล TensorFlow ที่แปลงเป็น TensorFlow Lite (หากยังไม่มีรูปแบบที่แปลงแล้ว คุณสามารถทดสอบโดยใช้รูปแบบที่ให้ไว้กับตัวอย่างด้านล่าง)
เกี่ยวกับแพ็กเกจรันไทม์ TensorFlow Lite
หากต้องการเริ่มต้นเรียกใช้โมเดล TensorFlow Lite ด้วย Python อย่างรวดเร็ว คุณจะติดตั้งเฉพาะอินเทอร์พรีเตอร์ของ TensorFlow Lite แทนการใช้แพ็กเกจ TensorFlow ทั้งหมดก็ได้ เราเรียกแพ็กเกจ Python แบบง่ายนี้ว่า tflite_runtime
แพ็กเกจ tflite_runtime
เป็นเศษส่วนที่มีขนาดเท่ากับแพ็กเกจ tensorflow
ซึ่งมีโค้ดขั้นต่ำที่ต้องใช้ในการอนุมานด้วย
TensorFlow Lite ซึ่งหลักๆ แล้วคือInterpreter
คลาส Python แพ็กเกจขนาดเล็กนี้เหมาะสําหรับการเรียกใช้โมเดล .tflite
เพียงอย่างเดียว และหลีกเลี่ยงการสูญเสียพื้นที่ในดิสก์ด้วยไลบรารี TensorFlow ขนาดใหญ่
ติดตั้ง TensorFlow Lite สำหรับ Python
คุณสามารถติดตั้งบน Linux ด้วย PIP ได้ดังนี้
python3 -m pip install tflite-runtime
แพลตฟอร์มที่รองรับ
tflite-runtime
Python Wheel สร้างขึ้นไว้ล่วงหน้าและจัดเตรียมไว้สำหรับแพลตฟอร์มต่อไปนี้
- Linux armv7l (เช่น Raspberry Pi 2, 3, 4 และ Zero 2 ที่ใช้ Raspberry Pi OS 32 บิต)
- Linux aarch64 (เช่น Raspberry Pi 3, 4 ที่ใช้ Debian ARM64)
- Linux X86_64
หากต้องการเรียกใช้โมเดล TensorFlow Lite บนแพลตฟอร์มอื่นๆ คุณควรใช้แพ็กเกจ TensorFlow แบบสมบูรณ์หรือสร้างแพ็กเกจ tflite-runtime จากต้นทาง
หากใช้ TensorFlow กับ TPU สำหรับ Coral Edge คุณควรทำตามเอกสารประกอบเกี่ยวกับการตั้งค่า Coral Edge ที่เหมาะสมแทน
เรียกใช้การอนุมานโดยใช้ tflite_runtime
ตอนนี้คุณต้องนำเข้าจาก tflite_runtime
แทนการนำเข้า Interpreter
จากโมดูล tensorflow
เช่น หลังจากติดตั้งแพ็กเกจด้านบน ให้คัดลอกและเรียกใช้ไฟล์ label_image.py
อาจล้มเหลว (อาจจะ) เนื่องจากคุณไม่ได้ติดตั้งไลบรารี tensorflow
หากต้องการแก้ไขปัญหานี้ ให้แก้ไขบรรทัดนี้ของไฟล์:
import tensorflow as tf
โดยจะแสดงว่า
import tflite_runtime.interpreter as tflite
จากนั้นเปลี่ยนบรรทัดนี้
interpreter = tf.lite.Interpreter(model_path=args.model_file)
โดยมีข้อความว่า
interpreter = tflite.Interpreter(model_path=args.model_file)
ตอนนี้ให้เรียกใช้ label_image.py
อีกครั้ง เท่านี้ก็เรียบร้อย คุณกำลังเรียกใช้โมเดล TensorFlow Lite
ดูข้อมูลเพิ่มเติม
ดูรายละเอียดเพิ่มเติมเกี่ยวกับ API ของ
Interpreter
ได้ที่หัวข้อโหลดและเรียกใช้โมเดลใน Pythonหากคุณมี Raspberry Pi ลองดูชุดวิดีโอเกี่ยวกับวิธีเรียกใช้การตรวจจับออบเจ็กต์บน Raspberry Pi โดยใช้ TensorFlow Lite
หากคุณใช้ตัวเร่ง ML สำหรับ Coral ML โปรดดูตัวอย่างปะการังใน GitHub
หากต้องการแปลงโมเดล TensorFlow อื่นๆ เป็น TensorFlow Lite โปรดอ่านเกี่ยวกับ TensorFlow Lite Converter
หากต้องการสร้างวงล้อ
tflite_runtime
โปรดอ่าน Build TensorFlow Lite Python Wheel Package