مستقبل إضافات 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 ليصبح نجاحًا مملوكًا ومدارًا من قبل المجتمع يتم استخدامه من قبل أكثر من 8000 مستودعات جيثب وفقًا لمخطط التبعية الخاص بنا. نود أن نتوقف لحظة لنشكر بصدق كل من شارك كمساهم أو كعضو في المجتمع على جهودهم.

في الآونة الأخيرة ، كان هناك تداخل متزايد في المساهمات والنطاق بين مكتبات 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 الأخرى. على سبيل المثال لا الحصر:

كجزء من RFC الأصلي ، وافقت مجموعة الاهتمامات الخاصة لدينا على ترحيل الكود من مستودعات tf.contrib و keras.contrib . عند القيام بذلك ، ورثت TFA عمليات C ++ المخصصة ، مما جعل TFA مكانًا فريدًا في مجتمع TensorFlow للمساهمة في إنشاء عمليات C ++ المخصصة وتوزيعها. ومع ذلك ، فقد قمنا مؤخرًا بترحيل الكثير من تلك البنية التحتية إلى Keras-CV حتى يتمكنوا من تجميع وتوزيع العمليات المخصصة على النحو الذي يرونه مناسبًا.

ماذا بعد:

  • ستستمر إصدارات الصيانة لمدة عام واحد (حتى مايو 2024).
  • تحذيرات الاستيراد في إصدار 0.20 TFA.
  • يتم نشر هذه المعلومات أيضًا حول مشكلة تتبع GitHub
  • جرد من الوظائف المكافئة متاح هنا .