כברירת מחדל, ממשקי ה-API של ML Kit משתמשים במודלים של Google ללמידה חישובית. המודלים האלה נועדו לכסות מגוון רחב של אפליקציות. עם זאת, תרחישים מסוימים מחייבים מודלים ממוקדים יותר. זו הסיבה שממשקי API מסוימים של ML Kit מאפשרים עכשיו להחליף את המודלים שמוגדרים כברירת מחדל במודלים מותאמים אישית של TensorFlow Lite.
ממשק ה-API תיוג תמונות וה-API זיהוי אובייקטים ומעקב מספקים תמיכה במודלים מותאמים אישית לסיווג תמונות. הם תואמים לבחירת מודלים באיכות גבוהה שהוכשרו מראש ב-TensorFlow Hub, או במודלים בהתאמה אישית שאומנו באמצעות TensorFlow, AutoML Vision Edge או TensorFlow Lite Maker Maker.
אם אתם צריכים פתרון מותאם אישית לדומיינים אחרים או לתרחישי שימוש אחרים, היכנסו לדף למידת מכונה במכשיר כדי לקבל הנחיות לגבי כל הפתרונות והכלים של Google ללמידת מכונה במכשיר.
יתרונות השימוש בלמידת מכונה במודלים מותאמים אישית
למה כדאי להשתמש במודל מותאם אישית של סיווג תמונות עם ערכת למידת מכונה?
- ממשקי API פשוטים שקל להשתמש בהם – אין צורך להתמודד עם קלט/פלט של מודל ברמה נמוכה, לטפל בתהליכי עיבוד תמונות לפני/אחרי הפיתוח או בבניית צינור עיבוד נתונים.
- אין צורך לדאוג לגבי מיפוי תוויות בעצמכם, אפליקציית למידת המכונה של ML מסירה את התוויות מהמטא-נתונים של מודל 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 תוכלו למצוא מגוון רחב של מודלים לאימון תמונות, מאומנים שונים – מיוצרי מודלים שונים. תוכלו להשתמש בממשקי ה-API של תוויות וזיהוי תמונות וזיהוי אובייקטים. פועלים לפי השלבים הבאים.
- בוחרים מודל מתוך אוסף מודלים תואמים ל-ML Kit.
- מורידים את הקובץ של מודל ה- .tflite מהדף של פרטי המודל. במידת האפשר, בחרו פורמט לדוגמה באמצעות מטא-נתונים.
- כדאי להיעזר במדריכים שלנו בנושא Image Labeling API או Object Detecting and Tracking API כדי ליצור חבילה של קובץ מודל עם הפרויקט ולהשתמש בו באפליקציה ל-Android או ל-iOS.
אימון מודל סיווג התמונות שלך
אם אין מודל מוכן לסיווג תמונות שמתאים לצרכים שלכם, יש כמה דרכים לאמן את מודל TensorFlow Lite שלכם. חלקן מתוארות בפירוט רב בהמשך.
אפשרויות לאימון מודל סיווג של תמונות | |
---|---|
AutoML Vision Edge |
|
יוצר המודלים של TensorFlow Lite |
|
המרת מודל של TensorFlow ל-TensorFlow Lite |
|
AutoML Vision Edge
מודלים לסיווג תמונות שאומנו באמצעות AutoML Vision Edge נתמכים על ידי המודלים המותאמים אישית, ב-Labeling Labels וב-Object Detection and Tracking API. ממשקי ה-API האלה תומכים גם בהורדת מודלים שמתארחים בפריסת מודלים של Firebase.
למידע נוסף על השימוש במודלים הנלמדים באמצעות AutoML Vision Edge באפליקציות ל-Android ול-iOS, יש לפעול לפי המדריכים המותאמים אישית למודלים של כל API, בהתאם לתרחיש לדוגמה הרלוונטי.
TensorFlow Lite יוצר מודלים
הספרייה של TFLite Model Maker מפשטת את תהליך ההתאמה וההמרה של מודל רשת עצבית של TensorFlow לנתונים ספציפיים של קלט, בעת פריסת המודל הזה באפליקציות למידת מכונה במכשיר. אפשר לפעול בהתאם לסיווג של Colab ל-Image באמצעות יוצר המודלים של TensorFlow Lite.
למידע נוסף על אופן השימוש במודלים נלמדים ב-Model Maker באפליקציות ל-Android ול-iOS, תוכלו להיעזר במדריכים שלנו בנושא Image Labeling API או API Detection and Tracking API בהתאם לתרחיש לדוגמה שלכם.
דגמים שנוצרו באמצעות ממיר TensorFlow Lite
אם יש לכם מודל קיים לסיווג תמונות של TensorFlow, תוכלו להמיר אותו באמצעות ממיר TensorFlow Lite. יש לוודא שהמודל שנוצר עומד בדרישות התאימות הבאות.
למידע נוסף על השימוש במודל TensorFlow Lite באפליקציות ל-Android ול-iOS, תוכלו להיעזר במדריכים שלנו בנושא Image Labeling API או API Detection and Tracking API, בהתאם לתרחיש לדוגמה שהגדרתם.
תאימות לדגם TensorFlow Lite
אפשר להשתמש בכל מודל אימון תמונות של TensorFlow Lite שעבר אימון, בתנאי שהוא עומד בדרישות הבאות:
טנסרים
- במודל צריכה להיות רק טנר קלט אחד עם המגבלות הבאות:
- הנתונים הם בפורמט פיקסלים של RGB.
- הנתונים הם מסוג UINT8 או FLOAT32. אם סוג טנור הקלט הוא FLOAT32, הוא חייב לציין את אפשרויות הנורמליזציה על ידי צירוף מטא-נתונים.
- לטנור יש 4 מימדים : BxHxWxC, כאשר:
- B הוא גודל האצווה. הערך חייב להיות 1 (השערה בקבוצות גדולות יותר לא נתמכת).
- W ו-H הם הרוחב והגובה של הקלט.
- C הוא מספר הערוצים הצפויים. הוא חייב להיות 3.
- במודל צריך להיות לפחות טנזור פלט אחד עם N מחלקות ו-2 או 4 מאפיינים:
- (1xN)
- (1x1x1xN)
- בשלב זה יש תמיכה מלאה בדגמים עם ראש אחד בלבד. מודלים עם כמה ראשים עשויים להניב תוצאות לא צפויות.
מטא-נתונים
ניתן להוסיף מטא-נתונים לקובץ TensorFlow Lite, כפי שמוסבר במאמר הוספת מטא-נתונים למודל TensorFlow Lite.
כדי להשתמש במודל עם טנור קלט FLOAT32, צריך לציין את normalization options במטא-נתונים.
אנחנו ממליצים גם לצרף את המטא-נתונים הזה לטנזור הפלט TensorMetadata:
- מפת תוויות שמציינת את השם של כל סיווג פלט, כAssociatedFile מסוג TENSOR_AXIS_LABELS (אחרת ניתן להחזיר רק את האינדקסים המספריים של מחלקת הפלט)
- סף ברירת מחדל של ציון נמוך ממנו מתחת לתוצאות, נמוך מדי ביחס לניקוד ולכן לא ניתן להחזיר אותו. הוא מופיע כ-ProcessUnit עם ScoreThresholdingOptions