TensorFlow Lite היא קבוצה של כלים המאפשרת למידת מכונה במכשיר על ידי סיוע למפתחים להפעיל את הדגמים שלהם בנייד, משובץ ומכשירי קצה.
תכונות עיקריות
- מותאם ללמידת מכונה במכשיר , על ידי התייחסות ל-5 אילוצים עיקריים: חביון (אין נסיעה הלוך ושוב לשרת), פרטיות (אין נתונים אישיים עוזבים את המכשיר), קישוריות (קישוריות לאינטרנט אינה נדרשת), גודל (דגם מצומצם ו גודל בינארי) וצריכת חשמל (מסק יעיל ומחסור בחיבורי רשת).
- תמיכה בפלטפורמות מרובות , המכסה מכשירי אנדרואיד ו- iOS , לינוקס משובצת ומיקרו- בקרים .
- תמיכה בשפה מגוונת , הכוללת Java, Swift, Objective-C, C++ ו-Python.
- ביצועים גבוהים , עם האצת חומרה ואופטימיזציה של מודלים .
- דוגמאות מקצה לקצה , למשימות נפוצות של למידת מכונה כגון סיווג תמונה, זיהוי אובייקטים, הערכת פוזות, מענה לשאלות, סיווג טקסט וכו' בפלטפורמות מרובות.
זרימת עבודה לפיתוח
המדריך הבא עובר על כל שלב בזרימת העבודה ומספק קישורים להנחיות נוספות:
1. צור מודל TensorFlow Lite
דגם TensorFlow Lite מיוצג בפורמט נייד יעיל במיוחד הידוע בשם FlatBuffers (מזוהה על ידי סיומת הקובץ tflite ). זה מספק מספר יתרונות על פני פורמט מודל חיץ הפרוטוקול של TensorFlow, כגון גודל מופחת (טביעת קוד קטן) והסקת הסקה מהירה יותר (גישה ישירה לנתונים ללא שלב נוסף של ניתוח/פירוק) המאפשרת ל-TensorFlow Lite להפעיל ביעילות במכשירים עם משאבי מחשוב וזיכרון מוגבלים. .
מודל TensorFlow Lite יכול לכלול אופציונלי מטא נתונים שיש להם תיאור מודל הניתן לקריאה על ידי אדם ונתונים קריאים במכונה ליצירה אוטומטית של צינורות לפני ואחרי עיבוד במהלך הסקת מסקנות במכשיר. עיין בהוספת מטא נתונים לפרטים נוספים.
אתה יכול ליצור מודל TensorFlow Lite בדרכים הבאות:
השתמש במודל TensorFlow Lite קיים: עיין בדוגמאות של TensorFlow Lite כדי לבחור מודל קיים. מודלים עשויים להכיל מטא נתונים או לא.
צור מודל TensorFlow Lite: השתמש ב- TensorFlow Lite Model Maker כדי ליצור מודל עם מערך נתונים מותאם אישית משלך. כברירת מחדל, כל הדגמים מכילים מטא נתונים.
המרת מודל TensorFlow למודל TensorFlow Lite: השתמש בממיר TensorFlow Lite כדי להמיר מודל TensorFlow למודל TensorFlow Lite. במהלך ההמרה, אתה יכול להחיל אופטימיזציות כגון קוונטיזציה כדי להפחית את גודל המודל והשהייה עם אובדן דיוק מינימלי או ללא אובדן. כברירת מחדל, כל הדגמים אינם מכילים מטא נתונים.
2. הפעל Inference
הסקה מתייחסת לתהליך של ביצוע מודל TensorFlow Lite במכשיר כדי לבצע תחזיות על סמך נתוני קלט. אתה יכול להפעיל הסקה בדרכים הבאות בהתבסס על סוג המודל:
מודלים ללא מטא נתונים : השתמש ב- TensorFlow Lite Interpreter API. נתמך במספר פלטפורמות ושפות כגון Java, Swift, C++, Objective-C ו-Python.
מודלים עם מטא נתונים : אתה יכול למנף את ממשקי ה-API היוצאים מהקופסה באמצעות ספריית המשימות של TensorFlow Lite או לבנות צינורות הסקה מותאמים אישית עם ספריית התמיכה של TensorFlow Lite . במכשירי אנדרואיד, משתמשים יכולים ליצור אוטומטית עטיפות קוד באמצעות Android Studio ML Model Binding או TensorFlow Lite Code Generator . נתמך רק ב-Java (אנדרואיד) בעוד Swift (iOS) ו-C++ פועלים.
במכשירי אנדרואיד ו-iOS, אתה יכול לשפר את הביצועים באמצעות האצת חומרה. בכל אחת מהפלטפורמות אתה יכול להשתמש ב- GPU Delegate , באנדרואיד אתה יכול להשתמש ב- NNAPI Delegate (עבור מכשירים חדשים יותר) או ב- Hexagon Delegate (במכשירים ישנים יותר) וב-iOS אתה יכול להשתמש ב- Core ML Delegate . כדי להוסיף תמיכה במאיצי חומרה חדשים, אתה יכול להגדיר נציג משלך .
להתחיל
אתה יכול לעיין במדריכים הבאים בהתבסס על מכשיר היעד שלך:
אנדרואיד ו-iOS: חקור את ההתחלה המהירה של Android ואת ההתחלה המהירה של iOS .
Linux משובץ: חקור את ההתחלה המהירה של Python עבור מכשירים משובצים כגון Raspberry Pi ומכשירי Coral עם Edge TPU , או הוראות בנייה של C++ עבור ARM .
מיקרו-בקרים: חקור את ספריית TensorFlow Lite for Microcontrollers עבור מיקרו-בקרים ו-DSP המכילים רק כמה קילובייטים של זיכרון.
אילוצים טכניים
לא ניתן להמיר את כל דגמי TensorFlow לדגמי TensorFlow Lite, עיין בתאימות למפעיל .
הדרכה במכשיר לא נתמכת , אולם היא מופיעה במפת הדרכים שלנו.