TensorFlow Lite מספק מספר כלים לשילוב דגמים באפליקציות אנדרואיד. דף זה מתאר כלי פיתוח לשימוש בבניית אפליקציות עם Kotlin, Java ו-C++, כמו גם תמיכה בפיתוח TensorFlow Lite ב-Android Studio.
כדי להתחיל בכתיבת קוד אנדרואיד במהירות, עיין ב- Quickstart עבור Android
הסעיפים הבאים מתארים כלי פיתוח עבור TensorFlow Lite המשתמשים בשפות Kotlin ו-Java.
ספריית המשימות TensorFlow Lite מכילה קבוצה של ספריות עוצמתיות וקלות לשימוש ספציפיות למשימות עבור מפתחי אפליקציות לבנות עם TensorFlow Lite. הוא מספק ממשקי מודל אופטימליים מחוץ לקופסה למשימות פופולריות של למידת מכונה, כגון סיווג תמונה, שאלה ותשובה וכו'. ממשקי הדגם תוכננו במיוחד עבור כל משימה כדי להשיג את הביצועים והשימושיות הטובים ביותר. ספריית המשימות פועלת בפלטפורמות שונות ונתמכת ב-Java ו-C++.
כדי להשתמש בספריית המשימות באפליקציית Android שלך, השתמש ב-AAR מ-MavenCentral עבור ספריית Task Vision , ספריית טקסט משימות ו- Task Audio Library , בהתאמה.
אתה יכול לציין זאת בתלות build.gradle
שלך באופן הבא:
dependencies {
implementation 'org.tensorflow:tensorflow-lite-task-vision:+'
implementation 'org.tensorflow:tensorflow-lite-task-text:+'
implementation 'org.tensorflow:tensorflow-lite-task-audio:+'
}
אם אתה משתמש בצילומי מצב ליליים, וודא שאתה מוסיף את מאגר תמונות המצב של Sonatype לפרויקט שלך.
ראה את ההקדמה בסקירת ספריית המשימות של TensorFlow Lite לפרטים נוספים.
השתמש בספריית TensorFlow Lite באפליקציית Android שלך על ידי הוספת ה- AAR המתארח ב-MavenCentral לפרויקט הפיתוח שלך.
אתה יכול לציין זאת בתלות build.gradle
שלך באופן הבא:
dependencies {
implementation 'org.tensorflow:tensorflow-lite:+'
}
אם אתה משתמש בצילומי מצב ליליים, וודא שאתה מוסיף את מאגר תמונות המצב של Sonatype לפרויקט שלך.
AAR זה כולל קבצים בינאריים עבור כל ABI של אנדרואיד . אתה יכול להקטין את גודל הקובץ הבינארי של היישום שלך רק על ידי הכללת ABIs שאתה צריך לתמוך.
אלא אם כן אתה מכוון לחומרה ספציפית, עליך להשמיט את ה-ABI של x86
, x86_64
ו- arm32
ברוב המקרים. אתה יכול להגדיר זאת עם תצורת Gradle הבאה. הוא כולל ספציפית רק armeabi-v7a
ו- arm64-v8a
, ואמור לכסות את רוב מכשירי האנדרואיד המודרניים.
android {
defaultConfig {
ndk {
abiFilters 'armeabi-v7a', 'arm64-v8a'
}
}
}
למידע נוסף על abiFilters
, ראה ABIs של Android בתיעוד Android NDK.
ספריית התמיכה של TensorFlow Lite ל-Android מקלה על שילוב דגמים באפליקציה שלך. הוא מספק ממשקי API ברמה גבוהה המסייעים להפוך נתוני קלט גולמיים לצורה הנדרשת על ידי המודל, ולפרש את הפלט של המודל, תוך הפחתת כמות הקוד הנדרש.
הוא תומך בפורמטים נפוצים של נתונים עבור קלט ופלט, כולל תמונות ומערכים. הוא מספק גם יחידות עיבוד לפני ואחרי המבצעות משימות כמו שינוי גודל וחיתוך תמונה.
השתמש בספריית התמיכה באפליקציית Android שלך על ידי הכללת ספריית התמיכה של TensorFlow Lite AAR המתארחת ב-MavenCentral .
אתה יכול לציין זאת בתלות build.gradle
שלך באופן הבא:
dependencies {
implementation 'org.tensorflow:tensorflow-lite-support:+'
}
אם אתה משתמש בצילומי מצב ליליים, וודא שאתה מוסיף את מאגר תמונות המצב של Sonatype לפרויקט שלך.
להוראות כיצד להתחיל, עיין בספריית התמיכה של TensorFlow Lite Android .
סִפְרִיָה | minSdkVersion | דרישות המכשיר |
---|---|---|
tensorflow-לייט | 19 | שימוש ב-NNAPI דורש API 27+ |
tensorflow-lite-gpu | 19 | GLES 3.1 או OpenCL (בדרך כלל זמין רק ב-API 21+ |
tensorflow-lite-משושה | 19 | - |
tensorflow-lite-תמיכה | 19 | - |
tensorflow-lite-task-vision | 21 | API הקשור ל-android.graphics.Color דורש API 26+ |
tensorflow-lite-task-text | 21 | - |
tensorflow-lite-task-audio | 23 | - |
tensorflow-lite-metadata | 19 | - |
בנוסף לספריות הפיתוח המתוארות לעיל, אנדרואיד סטודיו מספק גם תמיכה בשילוב דגמי TensorFlow Lite, כמתואר להלן.
תכונת ML Model Binding של Android Studio 4.1 ואילך מאפשרת לך לייבא קבצי מודל .tflite
לתוך אפליקציית Android הקיימת שלך, וליצור מחלקות ממשק כדי להקל על שילוב הקוד שלך עם דגם.
כדי לייבא דגם TensorFlow Lite (TFLite):
לחץ לחיצה ימנית על המודול שבו תרצה להשתמש במודל TFLite או לחץ על קובץ > חדש > אחר > דגם TensorFlow Lite .
בחר את המיקום של קובץ TensorFlow Lite שלך. שימו לב שהכלים מגדירים את התלות של המודול עם כריכת ML Model ומוסיפים אוטומטית את כל התלות הנדרשת לקובץ
build.gradle
של מודול האנדרואיד שלכם.לחץ על
Finish
כדי להתחיל בתהליך הייבוא. בסיום הייבוא, הכלי מציג מסך המתאר את הדגם, כולל טנסור הקלט והפלט שלו.כדי להתחיל להשתמש במודל, בחר Kotlin או Java, העתק והדבק את הקוד בקטע קוד לדוגמה .
אתה יכול לחזור למסך מידע הדגם על ידי לחיצה כפולה על דגם TensorFlow Lite תחת ספריית ml
ב-Android Studio. למידע נוסף על שימוש בתכונת ה-Modle Binding של Android Studio, עיין בהערות הגרסה של Android Studio. לסקירה כללית של השימוש בכריכת מודלים ב-Android Studio, עיין בהוראות לדוגמה קוד.
ספריות C ו-C++ עבור TensorFlow Lite מיועדות בעיקר למפתחים המשתמשים בערכת הפיתוח המקורית של Android (NDK) לבניית האפליקציות שלהם. יש שתי דרכים להשתמש ב-TFLite דרך C++ אם אתה בונה את האפליקציה שלך עם ה-NDK:
שימוש ב-API זה הוא הגישה המומלצת למפתחים המשתמשים ב-NDK. הורד את TensorFlow Lite AAR המתארח בקובץ MavenCentral , שנה את השם ל- tensorflow-lite-*.zip
ופתח אותו. עליך לכלול את ארבעת קבצי הכותרות בתיקיות headers/tensorflow/lite/
ו- headers/tensorflow/lite/c/
ואת הספרייה הדינמית הרלוונטית libtensorflowlite_jni.so
בתיקייה jni/
בפרויקט ה-NDK שלך.
קובץ הכותרת c_api.h
מכיל תיעוד בסיסי על השימוש ב-TFLite C API.
אם אתה רוצה להשתמש ב-TFLite דרך C++ API, אתה יכול לבנות את הספריות המשותפות C++:
32bit armeabi-v7a:
bazel build -c opt --config=android_arm //tensorflow/lite:libtensorflowlite.so
64bit arm64-v8a:
bazel build -c opt --config=android_arm64 //tensorflow/lite:libtensorflowlite.so
נכון לעכשיו, אין דרך פשוטה לחלץ את כל קבצי הכותרות הדרושים, לכן עליך לכלול את כל קבצי הכותרות ב- tensorflow/lite/
ממאגר TensorFlow. בנוסף, תזדקק לקבצי כותרות מ- FlatBuffers ו- Abseil .