Keras הוא ה-API ברמה גבוהה של פלטפורמת TensorFlow. הוא מספק ממשק נגיש, פרודוקטיבי ביותר לפתרון בעיות של למידת מכונה (ML), עם התמקדות בלמידה עמוקה מודרנית. Keras מכסה כל שלב בזרימת העבודה של למידת מכונה, מעיבוד נתונים ועד לכוונון היפרפרמטר ועד לפריסה. הוא פותח תוך התמקדות באפשר ניסויים מהירים.
עם Keras, יש לך גישה מלאה למדרגיות וליכולות חוצות הפלטפורמות של TensorFlow. אתה יכול להפעיל את Keras על גבי TPU Pod או על אשכולות גדולים של GPUs, ותוכל לייצא דגמי Keras להפעלה בדפדפן או במכשירים ניידים. אתה יכול גם לשרת דגמי Keras באמצעות API אינטרנט.
קרס נועד להפחית עומס קוגניטיבי על ידי השגת המטרות הבאות:
- מציעים ממשקים פשוטים ועקביים.
- צמצם את מספר הפעולות הנדרשות למקרי שימוש נפוצים.
- ספק הודעות שגיאה ברורות וניתנות לפעולה.
- עקוב אחר העיקרון של חשיפה מתקדמת של מורכבות: קל להתחיל, ותוכל להשלים זרימות עבודה מתקדמות על ידי למידה תוך כדי תנועה.
- לעזור לך לכתוב קוד תמציתי וקריא.
מי צריך להשתמש ב-Keras
התשובה הקצרה היא שכל משתמש TensorFlow צריך להשתמש ב-Keras APIs כברירת מחדל. בין אם אתה מהנדס, חוקר או מתרגל ML, אתה צריך להתחיל עם Keras.
ישנם כמה מקרי שימוש (לדוגמה, בניית כלים על גבי TensorFlow או פיתוח פלטפורמה משלך בעלת ביצועים גבוהים) הדורשים ממשקי API של TensorFlow Core ברמה נמוכה. אבל אם מקרה השימוש שלך לא נופל באחד מיישומי Core API , אתה צריך להעדיף Keras.
רכיבי API של Keras
מבני הנתונים הליבה של Keras הם שכבות ומודלים . שכבה היא טרנספורמציה פשוטה של קלט/פלט, ומודל הוא גרף אציקלי מכוון (DAG) של שכבות.
שכבות
מחלקת tf.keras.layers.Layer
היא ההפשטה הבסיסית ב-Keras. Layer
מקפלת מצב (משקלים) וחישוב כלשהו (מוגדר בשיטת tf.keras.layers.Layer.call
).
משקולות שנוצרו על ידי שכבות יכולות להיות ניתנות לאימון או לא ניתנות לאימון. שכבות ניתנות להרכבה רקורסיבית: אם תקצה מופע שכבה כתכונה של שכבה אחרת, השכבה החיצונית תתחיל לעקוב אחר המשקלים שנוצרו על ידי השכבה הפנימית.
אתה יכול גם להשתמש בשכבות כדי לטפל במשימות עיבוד מוקדם של נתונים כמו נורמליזציה ווקטוריזציה של טקסט. ניתן לכלול שכבות עיבוד מקדים ישירות לתוך הדגם, במהלך האימון או לאחריו, מה שהופך את הדגם לנייד.
דגמים
מודל הוא אובייקט שמקבץ שכבות יחד וניתן לאמן אותו על נתונים.
הסוג הפשוט ביותר של מודל הוא מודל Sequential
, שהוא ערימה לינארית של שכבות. עבור ארכיטקטורות מורכבות יותר, אתה יכול להשתמש ב- API הפונקציונלי של Keras , המאפשר לך לבנות גרפים שרירותיים של שכבות, או להשתמש בסיווג משנה כדי לכתוב מודלים מאפס .
שיעור tf.keras.Model
כולל שיטות הדרכה והערכה מובנות:
-
tf.keras.Model.fit
: מכשיר את הדגם למספר קבוע של עידנים. -
tf.keras.Model.predict
: יוצר תחזיות פלט עבור דגימות הקלט. -
tf.keras.Model.evaluate
: מחזירה את ערכי ההפסד והמדדים עבור המודל; מוגדר באמצעות שיטתtf.keras.Model.compile
.
שיטות אלו מעניקות לך גישה לתכונות האימון המובנות הבאות:
- התקשרויות חוזרות . אתה יכול למנף התקשרויות מובנות לעצירה מוקדמת, בדיקת דגמים וניטור TensorBoard . אתה יכול גם ליישם התקשרויות חוזרות מותאמות אישית .
- הכשרה מבוזרת . אתה יכול בקלות להגדיל את האימון שלך למספר GPUs, TPUs או מכשירים.
- שלב היתוך. עם הארגומנט
steps_per_execution
ב-tf.keras.Model.compile
, אתה יכול לעבד מספר אצוות בקריאהtf.function
אחת, מה שמשפר מאוד את ניצול ההתקן ב-TPUs.
לסקירה מפורטת של אופן השימוש fit
, עיין במדריך ההדרכה וההערכה . כדי ללמוד כיצד להתאים אישית את לולאות ההדרכה וההערכה המובנות, ראה התאמה אישית של מה שקורה ב- fit()
.
ממשקי API וכלים אחרים
Keras מספקת ממשקי API וכלים רבים אחרים ללמידה עמוקה, כולל:
לרשימה מלאה של ממשקי API זמינים, עיין בהפניה ל-Keras API . למידע נוסף על פרויקטים ויוזמות אחרות של Keras, ראה המערכת האקולוגית של Keras .
הצעדים הבאים
כדי להתחיל להשתמש ב-Keras עם TensorFlow, בדוק את הנושאים הבאים:
- המודל הרציף
- ה-API הפונקציונלי
- הדרכה והערכה עם השיטות המובנות
- יצירת שכבות ודגמים חדשים באמצעות סיווג משנה
- סדרה ושמירה
- עבודה עם שכבות עיבוד מקדים
- התאמה אישית של מה שקורה ב-fit()
- כתיבת לולאת אימון מאפס
- עבודה עם RNNs
- הבנת מיסוך וריפוד
- כתיבת השיחות חוזרות משלך
- העבר למידה וכוונון עדין
- ריבוי GPU והדרכה מבוזרת
למידע נוסף על Keras, עיין בנושאים הבאים ב- keras.io :