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

في الآونة الأخيرة، كان هناك تداخل متزايد في المساهمات والنطاق بين TFA ومكتبات Keras-CV و Keras-NLP . لمنع التداخل في المستقبل، نعتقد أنه سيتم الحفاظ على الإضافات الجديدة والحالية إلى TensorFlow بشكل أفضل في مستودعات مشروع Keras، حيثما أمكن ذلك.

قرار إنهاء إضافات TensorFlow

نعتقد أنه من مصلحة مجتمع TensorFlow توحيد الأماكن التي يمكن فيها استخدام ملحقات TensorFlow وصيانتها والمساهمة فيها. ولهذا السبب، من الممتع أن نعلن عن خططنا لنقل إضافات TensorFlow إلى الحد الأدنى من الصيانة ووضع الإصدار.

ستنهي إضافات TFA SIG التطوير وإدخال ميزات جديدة لهذا المشروع. سيتم الانتقال إلى وضع الحد الأدنى من الصيانة والإصدار لمدة عام واحد (حتى مايو 2024) من أجل توفير الوقت المناسب لك لضبط أي تبعيات للمستودعات المتداخلة في مجتمع TensorFlow ( Keras و Keras-CV و Keras-NLP ). للمضي قدمًا، يرجى النظر في المساهمة في مشاريع Keras-CV وKeras-NLP.

خلفية:

كان اقتراح RFC الأصلي لـ TFA بتاريخ 14/12/2018 مع الهدف المعلن المتمثل في بناء مستودع يديره المجتمع للمساهمات التي تتوافق مع أنماط واجهة برمجة التطبيقات (API) الراسخة، ولكنها تنفذ وظائف جديدة غير متوفرة في TensorFlow الأساسية كما هو محدد في مجموعة الاهتمامات الخاصة لدينا (سيج) الميثاق .

مع مرور السنين، تم إنشاء مستودعات جديدة تضم مجتمعات مساهمين سليمة (Keras-CV، Keras-NLP، وما إلى ذلك) بأهداف مماثلة لأهدافنا وتتداخل معايير قبول المساهمة بشكل كبير (على سبيل المثال، عدد الاستشهادات المطلوبة). بالإضافة إلى ذلك، منذ انفصلت Keras عن TensorFlow الأساسية في عام 2020 ، تم تقليل حاجز مساهمة المجتمع بشكل كبير.

ومن المفهوم أن هناك غموضاً متزايداً بشأن المكان الذي ينبغي أن تصل إليه المساهمات والمكان الأفضل للحفاظ عليه. تتوفر العديد من الميزات المتوفرة في TFA في نفس الوقت في مستودعات مجتمع TensorFlow الأخرى. على سبيل المثال لا الحصر:

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

ما هو التالي: