מדריך למתחילים למכשירים מבוססי Linux עם Python

השימוש ב-LiteRT עם Python מומלץ מאוד למכשירים מוטמעים המבוססים על Linux, כמו Raspberry Pi מכשירי Coral עם Edge TPU, ובהרבה אחרים.

בדף הזה מוסבר איך להתחיל להריץ מודלי LiteRT עם Python בכמה דקות בלבד. כל מה שצריך זה מודל TensorFlow שהומר ל-TensorFlow Lite. (אם עדיין לא המרת מודל, ניתן ניסוי באמצעות המודל שסופק עם הדוגמה שבקישור למטה).

מידע על חבילת זמן הריצה של LiteRT

כדי להתחיל במהירות להפעיל מודלים של LiteRT באמצעות Python, אפשר להתקין רק במפענח LiteRT, במקום כל החבילות של TensorFlow. רביעי קוראים לחבילת Python הפשוטה הזו tflite_runtime.

החבילה tflite_runtime היא חלק מהגודל של חבילת tensorflow המלאה כולל את הקוד המינימלי הנדרש כדי להריץ הסקת מסקנות LiteRT – בעיקר Interpreter Python. החבילה הקטנה הזו היא אידיאלית כאשר כל מה שרוצים לעשות מודלים של .tflite ונמנעים מבזבוז מקום בדיסק בעזרת ספריית TensorFlow הגדולה.

התקנת LiteRT ל-Python

אפשר להתקין ב-Linux באמצעות PIP:

python3 -m pip install tflite-runtime

פלטפורמות נתמכות

גלגלי ה-Python מסוג tflite-runtime מוכנים מראש וסופקים בשביל פלטפורמות:

  • Linux Armv7l (למשל, Raspberry Pi 2, 3, 4 ו-Zero 2 עם מערכת ההפעלה Raspberry Pi OS 32-ביט)
  • Linux a Arch64 (למשל Raspberry Pi 3, 4 שפועלת בו Debian ARM64)
  • Linux x86_64

אם תרצו להריץ מודלים של LiteRT בפלטפורמות אחרות, עליכם: להשתמש בחבילה המלאה של TensorFlow, או בונים את חבילת זמן הריצה של tflite מהמקור.

אם משתמשים ב-TensorFlow עם Coral Edge TPU, במקום זאת, יש לפעול לפי המסמכים הרלוונטיים בנושא הגדרות אלימיות.

הרצת ההסקה באמצעות tflite_runtime

במקום לייבא את Interpreter מהמודול tensorflow, עכשיו צריך אפשר לייבא אותו מ-tflite_runtime.

לדוגמה, אחרי שמתקינים את החבילה שלמעלה, מעתיקים ומפעילים את 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. זהו! עכשיו מתבצע על ידך שימוש ב-LiteRT למשימות ספציפיות.

מידע נוסף