מודלים בהתאמה אישית באמצעות ערכת ML

כברירת מחדל, ממשקי ה-API של ML Kit מתבססים על מודלים של למידת מכונה שאומנו על ידי Google. המודלים האלה מיועדים למגוון רחב של אפליקציות. עם זאת, בחלק מהתרחישים לדוגמה נדרשים מודלים ממוקדים יותר. לכן, חלק מממשקי ה-API של ML Kit מאפשרים עכשיו להחליף את המודלים שמוגדרים כברירת מחדל במודלים של TensorFlow Lite בהתאמה אישית.

ה-API Image Labeling ו-Object Detection & Tracking API תומכים במודלים של סיווג תמונות בהתאמה אישית. הם תואמים למבחר של דגמים איכותיים שעברו אימון מראש ב-TensorFlow Hub, או למודל בהתאמה אישית שאומן בעזרת TensorFlow, AutoML Vision Edge או TensorFlow Lite.

אם אתם צריכים פתרון מותאם אישית לדומיינים או לתרחישי שימוש אחרים, קראו את דף למידת המכונה במכשיר כדי לקבל הנחיות לגבי כל הפתרונות והכלים של Google ללמידת מכונה במכשיר.

יתרונות השימוש בערכת ML עם מודלים בהתאמה אישית

היתרונות של שימוש במודל סיווג תמונות מותאם אישית באמצעות ML Kit הם:

  • ממשקי API קלים לשימוש ברמה גבוהה – אין צורך להתעסק בקלט/פלט של מודל ברמה נמוכה, בטיפול בתמונה לפני או אחרי עיבוד התמונה או בבניית צינור עיבוד.
  • אין צורך לדאוג למיפוי תוויות בעצמכם – ML Kit מחלץ את התוויות מהמטא-נתונים של המודל של TFLite ומבצע את המיפוי עבורכם.
  • יש תמיכה במודלים בהתאמה אישית ממגוון רחב של מקורות, ממודלים שעברו אימון מראש שפורסמו ב-TensorFlow Hub ועד מודלים חדשים שהוכשרו בעזרת TensorFlow, AutoML Vision Edge או TensorFlow Lite Model Maker.
  • תמיכה במודלים שמתארחים ב-Firebase. מפחית את גודל ה-APK על ידי הורדת מודלים על פי דרישה. אפשר לדחוף את עדכוני המודל בלי לפרסם מחדש את האפליקציה, ולבצע בדיקות A/B קלות באמצעות הגדרת תצורה מרחוק ב-Firebase.
  • מותאם לשילוב עם ממשקי ה-API של המצלמה של Android.

ובמיוחד עבור זיהוי ומעקב אחר אובייקטים:

  • כדי לשפר את דיוק הסיווג, צריך לאתר קודם את האובייקטים ולהפעיל את המסווג רק באזור התמונה שקשור לנושא.
  • חוויית שימוש אינטראקטיבית בזמן אמת מאפשרת לכם לתת למשתמשים משוב מיידי על האובייקטים, בזמן שהם מזוהים ומסווגים אותם.

להשתמש במודל סיווג תמונות שעבר אימון מקדים

אפשר להשתמש בדגמי TensorFlow Lite שעברו אימון, בתנאי שהם עומדים בקבוצת קריטריונים. דרך TensorFlow Hub אנחנו מציעים קבוצה של מודלים שנבדקו – מ-Google או מיוצרי מודלים אחרים – ושעומדים בקריטריונים האלה.

שימוש במודל שפורסם ב-TensorFlow Hub

TensorFlow Hub מציע מגוון רחב של מודלים לסיווג תמונות שעברו אימון מראש – מכמה יוצרי מודלים – שאפשר להשתמש בהם עם ממשקי Image Labeling ו-Object Detection and Tracking API. פועלים לפי השלבים הבאים:

  1. בוחרים מודל מתוך אוסף המודלים התואמים ל-ML Kit.
  2. מורידים את קובץ המודל עם הסיומת .tflite מדף פרטי המודל. בוחרים פורמט של מודל עם מטא-נתונים, כשהדבר אפשרי.
  3. תוכלו להיעזר במדריכים שלנו ל-Image Labeling API או ל-Object Detection and Tracking API כדי לקבץ את קובץ המודל בפרויקט ולהשתמש בו באפליקציה ל-Android או ל-iOS.

אימון מודל משלכם לסיווג תמונות

אם אין מודל שעבר אימון מראש שמתאים לצרכים שלכם, יש כמה דרכים לאמן מודל TensorFlow Lite משלכם. חלק מהן מפורטות ומפורטות בהמשך.

אפשרויות לאמן מודל משלכם לסיווג תמונות
AutoML Vision Edge
  • סופקה באמצעות Google Cloud AI
  • ליצור מודלים מתקדמים לסיווג תמונות.
  • ניתן להעריך בקלות בין ביצועים לגודל
יוצר הדגמים של TensorFlow Lite
  • אימון מחדש של המודל (למידה שמועברת), דורש פחות זמן ופחות נתונים מאשר אימון של מודל מאפס.
המרת מודל TensorFlow ל-TensorFlow Lite
  • אימון מודל באמצעות TensorFlow, ואז המרה ל-TensorFlow Lite

AutoML Vision Edge

המודלים בהתאמה אישית לסיווג תמונות שעברו אימון באמצעות AutoML Vision Edge נתמכים בממשקי ה-API של Image Labeling ו-Object Detection and Tracking API. ממשקי ה-API האלה תומכים גם בהורדה של מודלים שמתארחים בפריסת מודלים של Firebase.

כדי לקבל מידע נוסף על אופן השימוש במודל שאומן בעזרת AutoML Vision Edge באפליקציות ל-Android ול-iOS, אפשר להיעזר במדריכים ליצירת מודלים בהתאמה אישית לכל API, בהתאם לתרחיש לדוגמה שלכם.

יוצר הדגמים של TensorFlow Lite

ספריית המודלים של TFLite מפשטת את תהליך ההתאמה וההמרה של מודל רשת נוירונים של TensorFlow לנתוני קלט מסוימים, כשפורסים את המודל הזה לאפליקציות למידת מכונה במכשיר. אפשר לעקוב אחר Colab לסיווג תמונות באמצעות TensorFlow Lite Model Maker.

למידע נוסף על השימוש במודל שאומן באמצעות Model Maker באפליקציות ל-Android ול-iOS, קראו את המדריכים שלנו לגבי Image Labeling API או Object Detection and Tracking API, בהתאם לתרחיש השימוש שלכם.

מודלים שנוצרו באמצעות ממיר TensorFlow Lite

אם יש לכם מודל קיים לסיווג תמונות ב-TensorFlow, אפשר להמיר אותו באמצעות הממיר של TensorFlow Lite. יש לוודא שהמודל שנוצר עומד בדרישות התאימות שמפורטות בהמשך.

למידע נוסף על השימוש במודל TensorFlow Lite באפליקציות ל-Android ול-iOS, קראו את המדריכים שלנו לגבי Image Labeling API או Object Detection and Tracking API, בהתאם לתרחיש השימוש שלכם.

תאימות לדגמים של TensorFlow Lite

אפשר להשתמש בכל מודל סיווג תמונות של TensorFlow Lite שעבר אימון, בתנאי שהוא עומד בדרישות הבאות:

טנזורים

  • במודל צריך להיות רק t tensor אחד של קלט, עם המגבלות הבאות:
    • הנתונים הם בפורמט פיקסלים RGB.
    • הנתונים הם מסוג UINT8 או FLOAT32. אם הסוג של Tensor הקלט הוא FLOAT32, הוא צריך לציין את NormalizationOptions על ידי צירוף של Metadata.
    • ל-tensor יש 4 מימדים : BxHxWxC, כאשר:
      • B הוא גודל האצווה. חייב להיות 1 (אין תמיכה בהסקת מסקנות לגבי קבוצות גדולות יותר).
      • W ו-H הם הרוחב והגובה של הקלט.
      • C הוא מספר הערוצים הצפויים. חייב להיות 3.
  • המודל חייב לכלול לפחות טנטור פלט אחד עם N מחלקות ו-2 או 4 מאפיינים:
    • (1xN)
    • (1x1x1xN)
  • בשלב זה יש תמיכה מלאה רק בדגמים עם ראש יחיד. מודלים של ריבוי ראשים עשויים לפלט תוצאות בלתי צפויות.

Metadata

אפשר להוסיף מטא-נתונים לקובץ TensorFlow Lite, כמו שמוסבר במאמר הוספת מטא-נתונים למודל TensorFlow Lite.

כדי להשתמש במודל עם tensor קלט מסוג FLOAT32, צריך לציין את ה-NormalizationOptions במטא-נתונים.

מומלץ גם לצרף את המטא-נתונים האלה לקלט הפלט TensorMetadata:

  • מפת תוויות שמציינת את השם של כל מחלקת פלט, כ-AssociatedFile עם הסוג TENSOR_AXIS_LABELS (אחרת ניתן להחזיר רק את האינדקסים של מחלקת הפלט המספרי)
  • סף ברירת מחדל לציון מתחת לתוצאות שנחשבות סבירות נמוכה מדי להחזרה, בתור ProcessUnit עם ScoreThresholdingOptions