Keras

Keras היא ספריית קוד פתוח המשמשת כ-API ל-TensorFlow.

עד גרסה 2.3 Keras תמכה בעוד ספריות בינה מלאכותית כגון Microsoft Cognitive Toolkit, Theano, ו-PlaidML, אך בגרסה 2.4 הפסיקה לתמוך בהן ועברה להתמקד ב-TensorFlow בלבד. Keras נוצרה תוך שימת דגש על ידידותיות למשתמש, גמישות ומודולריות כאשר המוטו שלה הוא "Keras הוא ממשק API המיועד לבני אדם, לא למכונות". Keras פותחה במקור כחלק מפרויקט ONEIROS (Open-ended Neuro-Electronic Intelligent Robot Operating System) והמפתח והמתחזק העיקרי שלה הוא פרנסואה צ'ולט.

מאפיינים 
Keras מכילה בתוכה הרבה אבני בניין נפוצות של רשתות עצביות מלאכותיות כגון שכבות, מייעלים (optimizers), פונקציות הפסד, מדדים לבדיקת המודל ודרכים לנהל דאטה. Keras תומכת בין השאר ברשת קונבולוציה, RNN ורשתות עצביות מלאכותיות בעזרת שכבות dropout, כינוס, אגרגציה ו-batch normalization.

Keras ו-TensorFlow 
בגרסה 1.1 נוספה ל-Keras TensorFlow בתור תת-ספריה מכיוון ש-TensorFlow נראתה כדי מאיימת ולא אינטואיטיבית, ו-Keras פתרה בעיה זאת כאשר היא שימשה כממשק הרבה יותר ידידותי ל-TensorFlow.

ב-2019, בעקבות ירידת אחוז השימוש ב-TensorFlow, רצתה גוגל, המפתחת של TensorFlow, לפתח ממשק חדש ידידותי יותר למשתמש וקל יותר להבנה. מכיוון ש-Keras כבר הייתה קיימת ואף צברה פופולריות, ויתרה גוגל על פיתוח ממשק שלם מחדש ופשוט הפכה את Keras לממשק של TensorFlow החל מגרסה 2.0. בנוסף, Keras ו-TensorFlow שתיהן ספריות קוד פתוח, שיקול נוסף שהטה את המאזניים לכיוון בחירה זאת.

קוד 
יצירת מודל בשם "generator" בעזרת Keras:generator = keras.Sequential(
  [
        keras.Input(shape=(latent_dim,)),
        layers.Dense(8 * 8 * 128),
        layers.Reshape((8, 8, 128)),
        layers.Conv2DTranspose(128, kernel_size=4, strides=2, padding="same"),
        layers.LeakyReLU(alpha=0.2),
        layers.Conv2DTranspose(256, kernel_size=4, strides=2, padding="same"),
        layers.LeakyReLU(alpha=0.2),
        layers.Conv2DTranspose(512, kernel_size=4, strides=2, padding="same"),
        layers.LeakyReLU(alpha=0.2),
        layers.Conv2D(3, kernel_size=5, padding="same", activation="sigmoid"),
    ],
 name="generator",
)

הערות שוליים 

ערכים שבהם תבנית אתר רשמי אינה מתאימה להוספה אוטומטית
למידת מכונה
בינה מלאכותית