Keras

מתוך ויקיפדיה, האנציקלופדיה החופשית
Keras
מפתח פרנסואה צ'ולט עריכת הנתון בוויקינתונים
מחזור חיים 27 מרץ 2015 – הווה (9 שנים ו־4 שבועות)
גרסה אחרונה 3.3.2 (22 באפריל 2024) עריכת הנתון בוויקינתונים
מערכת הפעלה Linux, macOS, Windows, Android, website
נכתבה בשפות פייתון
סוג רישיון MIT
קוד מקור https://github.com/keras-team/keras עריכת הנתון בוויקינתונים
קטגוריה למידת מכונה
https://github.com/keras-team/keras

https://keras.io
לעריכה בוויקינתונים שמשמש מקור לחלק מהמידע בתבנית

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

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

מאפיינים[עריכת קוד מקור | עריכה]

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

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",
)

הערות שוליים[עריכת קוד מקור | עריכה]

  1. ^ Åsa Magnusson, 02 / The association between the number of oocytes retrieved for IVF, perinatal outcomes and obstetric complications., dx.doi.org, ‏29 ביוני 2018
  2. ^ Douglas J. Keenan, Volcanic ash retrieved from the GRIP ice core is not from Thera, Geochemistry, Geophysics, Geosystems 4, 2003-11, עמ' n/a–n/a doi: 10.1029/2003gc000608