סקירת דגם גן

גן המודלים של TensorFlow מספק הטמעות של מודלים חדישים רבים של למידת מכונה (ML) עבור חזון ועיבוד שפה טבעית (NLP), כמו גם כלי זרימת עבודה כדי לאפשר לך להגדיר ולהפעיל במהירות את המודלים הללו על מערכי נתונים סטנדרטיים. בין אם אתם מחפשים להשוות ביצועים עבור מודל ידוע, לאמת את התוצאות של מחקרים שפורסמו לאחרונה, או להרחיב מודלים קיימים, ה-Model Garden יכול לעזור לכם לקדם את המחקר והיישומים שלכם בתחום ה-ML.

גן המודלים כולל את המשאבים הבאים עבור מפתחי למידת מכונה:

משאבים אלו בנויים לשימוש עם מסגרת TensorFlow Core ולהשתלב עם פרויקטי הפיתוח הקיימים של TensorFlow. משאבי Model Garden מסופקים גם תחת רישיון קוד פתוח , כך שתוכל להרחיב ולהפיץ באופן חופשי את הדגמים והכלים.

מודלים מעשיים של ML הם אינטנסיביים מבחינה חישובית לאימון ולהרצה, ועשויים לדרוש מאיצים כגון יחידות עיבוד גרפי (GPU) ו-Tensor Processing Units (TPUs). רוב הדגמים ב- Model Garden אומנו על מערכי נתונים גדולים באמצעות TPUs. עם זאת, אתה יכול גם לאמן ולהפעיל את הדגמים האלה על מעבדי GPU ו-CPU.

דגם דגמי גן

המודלים של למידת מכונה ב-Model Garden כוללים קוד מלא כדי שתוכל לבדוק, לאמן או לאמן אותם מחדש לצורך מחקר וניסוי. גן המודלים כולל שתי קטגוריות עיקריות של דגמים: מודלים רשמיים ומודלים מחקריים .

דגמים רשמיים

מאגר המודלים הרשמיים הוא אוסף של מודלים חדישים, עם התמקדות בחזון ועיבוד שפה טבעית (NLP). מודלים אלה מיושמים באמצעות ממשקי API ברמה גבוהה של TensorFlow 2.x הנוכחיים. ספריות הדגמים במאגר זה מותאמות לביצועים מהירים ומתוחזקות באופן פעיל על ידי מהנדסי Google. המודלים הרשמיים כוללים מטא נתונים נוספים שבהם תוכל להשתמש כדי להגדיר במהירות ניסויים באמצעות מסגרת ניסוי האימון של Model Garden.

מודלים מחקריים

מאגר מודלים מחקריים הוא אוסף של מודלים שפורסמו כמשאבי קוד עבור מאמרי מחקר. מודלים אלה מיושמים באמצעות TensorFlow 1.x ו-2.x. ספריות מודלים בתיקיית המחקר נתמכות על ידי בעלי הקוד וקהילת המחקר.

מסגרת ניסוי אימון

מסגרת ניסוי האימון של Model Garden מאפשרת לך להרכיב ולהפעיל במהירות ניסויי אימון באמצעות המודלים הרשמיים שלה ומערכי הנתונים הסטנדרטיים שלה. מסגרת ההדרכה משתמשת במטא נתונים נוספים הכלולים במודלים הרשמיים של Model Garden כדי לאפשר לך להגדיר מודלים במהירות באמצעות מודל תכנות הצהרתי. אתה יכול להגדיר ניסוי אימון באמצעות פקודות Python בספריית TensorFlow Model או להגדיר אימון באמצעות קובץ תצורה של YAML, כמו דוגמה זו.

מסגרת האימון משתמשת ב- tfm.core.base_trainer.ExperimentConfig כאובייקט התצורה, המכיל את אובייקטי התצורה הבאים ברמה העליונה:

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

לדוגמא מלאה באמצעות מסגרת הניסוי של גן מודל, עיין במדריך סיווג תמונה עם גן מודל . למידע על מסגרת ניסוי האימון, עיין בתיעוד של TensorFlow Models API . אם אתה מחפש פתרון לניהול לולאות אימון עבור ניסויי האימון שלך במודל, בדוק את Orbit .

פעולות ML מיוחדות

ה-Model Garden מכיל פעולות חזון ו-NLP רבות שתוכננו במיוחד לביצוע מודלים חדישים הפועלים ביעילות על GPUs ו-TPUs. עיין במסמכי ה-API של ספריית TensorFlow Models Vision לקבלת רשימה של פעולות חזון מיוחדות. עיין במסמכי ה-API של ספריית TensorFlow Models NLP לקבלת רשימה של פעולות NLP . ספריות אלו כוללות גם פונקציות שירות נוספות המשמשות לעיבוד נתוני חזון ו-NLP, הדרכה וביצוע מודלים.

לולאות אימון עם אורביט

הכלי Orbit הוא ספרייה גמישה וקלת משקל שנועדה להקל על כתיבת לולאות אימון מותאמות אישית ב-TensorFlow 2.x, ועובדת היטב עם מסגרת הניסוי של Model Garden. אורביט מטפלת במשימות הכשרה נפוצות של מודלים כגון שמירת מחסומים, הפעלת הערכות מודלים והגדרת כתיבת סיכום. זה משתלב בצורה חלקה עם tf.distribute ותומך בהפעלה על סוגי מכשירים שונים, כולל מעבד, GPU וחומרת TPU. הכלי Orbit הוא גם קוד פתוח , כך שתוכל להרחיב ולהתאים את עצמו לצרכי האימון שלך במודל.

אתה בדרך כלל מאמן מודלים של TensorFlow על ידי כתיבת לולאת אימון מותאמת אישית , או שימוש בפונקציית Keras Model.fit ברמה גבוהה. עבור מודלים פשוטים, אתה יכול להגדיר ולנהל לולאת אימון מותאמת אישית עם שיטות TensorFlow ברמה נמוכה כגון tf.GradientTape או tf.function . לחלופין, אתה יכול להשתמש ב-Keras Model.fit ברמה גבוהה.

עם זאת, אם המודל שלך מורכב ולולאת האימון שלך דורשת שליטה או התאמה אישית גמישה יותר, עליך להשתמש ב-Orbit. אתה יכול להגדיר את רוב לולאת האימון שלך לפי מחלקה orbit.AbstractTrainer או orbit.StandardTrainer . למידע נוסף על הכלי Orbit בתיעוד של Orbit API .