העתיד של תוספות TensorFlow

import tensorflow as tf
import tensorflow_addons as tfa
train,test = tf.keras.datasets.mnist.load_data()
x_train, y_train = train
x_train = x_train[..., tf.newaxis] / 255.0

# TFA layers and activations
model = tf.keras.Sequential([
  tf.keras.layers.Conv2D(filters=10, kernel_size=(3,3),
                         activation=tfa.activations.gelu),
  tfa.layers.GroupNormalization(groups=5, axis=3),
  tf.keras.layers.Flatten(),
  tf.keras.layers.Dense(10, activation='softmax')
])

# TFA optimizers, losses and metrics
model.compile(
    optimizer=tfa.optimizers.RectifiedAdam(0.001),
    loss=tfa.losses.TripletSemiHardLoss(),
    metrics=[tfa.metrics.MultiLabelConfusionMatrix(num_classes=10)])

history = model.fit(x_train, y_train, epochs=10)

TensorFlow Addons (TFA) הוא מאגר של הרחבות מתוחזקים ותרמו על ידי קהילה עבור TensorFlow, שנוצרו לראשונה בשנת 2018 ומתוחזקים על ידי קהילת SIG-Addons . במהלך 4 שנים, 200 תורמים בנו את מאגר ה-TFA להצלחה בבעלות ובניהול של קהילה שמנוצלת על ידי למעלה מ-8,000 מאגרי github לפי גרף התלות שלנו. ברצוננו להודות מכנות לכל המעורבים כתורמים או כחבר קהילה על מאמציהם.

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

החלטה לשחרר תוספות TensorFlow

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

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

רקע כללי:

הצעת ה-RFC המקורית עבור TFA הייתה מתאריך 2018-12-14 במטרה מוצהרת לבנות מאגר מנוהל קהילתי עבור תרומות התואמות לדפוסי API מבוססים היטב, אך ליישם פונקציונליות חדשה שאינה זמינה בליבה של TensorFlow כפי שהוגדרה בקבוצת האינטרסים המיוחדים שלנו. (SIG) אמנת .

ככל שהשנים התקדמו, נוצרו מאגרים חדשים עם קהילות תורמים בריאות (Keras-CV, Keras-NLP וכו') עם מטרות דומות לשלנו והקריטריונים לקבלת תרומה חופפים באופן משמעותי (למשל, מספר הציטוטים הנדרשים). בנוסף, מאז ש- Keras התפצלה מ-TensorFlow הליבה בשנת 2020 , המחסום לתרומה לקהילה הורד באופן משמעותי.

מובן, גדלה אי בהירות לגבי היכן התרומות אמורות לנחות והיכן הן יישמרו בצורה הטובה ביותר. תכונות רבות הזמינות ב-TFA זמינות בו-זמנית במאגרים אחרים של TensorFlow Community. רק כמה דוגמאות:

כחלק מה-RFC המקורי, קבוצת האינטרסים המיוחדים שלנו הסכימה להעביר קוד ממאגרי tf.contrib ו- keras.contrib . בכך, TFA ירשה אופציות מותאמות אישית של C++, מה שהפך את TFA למקום ייחודי בקהילת TensorFlow לתרום אופציות מותאמות אישית של C++ שייבנו והופצו. עם זאת, העברנו לאחרונה חלק גדול מהתשתית הזו ל-Keras-CV כדי שיוכלו להרכיב ולהפיץ אופציות מותאמות אישית כראות עיניהם.

מה הלאה:

  • מהדורות התחזוקה יימשכו למשך שנה אחת (עד מאי 2024).
  • אזהרות יבוא במהדורת 0.20 TFA.
  • מידע זה מתפרסם גם בנושא המעקב של GitHub
  • מלאי של פונקציונליות מקבילה זמין כאן .