TensorFlow Eklentilerinin Geleceği

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 Eklentileri (TFA), ilk olarak 2018'de oluşturulan ve SIG-Addons topluluğu tarafından sürdürülen TensorFlow için topluluk tarafından yönetilen ve katkıda bulunulan uzantıların bir deposudur. 4 yıl boyunca, 200 katılımcı TFA deposunu, bağımlılık grafiğimize göre 8.000'den fazla github deposu tarafından kullanılan, topluluğun sahip olduğu ve yönettiği bir başarı haline getirdi. Katkıda bulunan veya topluluk üyesi olarak yer alan herkese çabaları için içtenlikle teşekkür etmek istiyoruz.

Son zamanlarda, TFA ile Keras-CV ve Keras-NLP kitaplıkları arasında katkılar ve kapsam açısından artan bir örtüşme olmuştur. Gelecekte çakışmayı önlemek için, TensorFlow'daki yeni ve mevcut eklentilerin, mümkün olduğunda Keras proje havuzlarında en iyi şekilde korunacağına inanıyoruz.

TensorFlow Eklentilerini Yavaşlatma Kararı

TensorFlow uzantılarının kullanılabileceği, sürdürülebileceği ve katkıda bulunulabileceği yerleri birleştirmenin TensorFlow topluluğunun yararına olduğuna inanıyoruz. Bu nedenle, TensorFlow Eklentilerini minimum bakım ve yayın moduna geçirme planlarımızı duyuruyor olmamız üzücü.

TFA SIG Eklentileri, bu projeye yeni özelliklerin geliştirilmesine ve tanıtılmasına son verecek. TFA, TensorFlow topluluğumuzdaki ( Keras , Keras-CV ve Keras-NLP ) çakışan depolara olan bağımlılıkları ayarlamanız için size uygun zamanı vermek üzere bir yıl boyunca (Mayıs 2024'e kadar) minimum bakım ve yayın moduna geçecek. ). Bundan sonra lütfen Keras-CV ve Keras-NLP projelerine katkıda bulunmayı düşünün.

Arka plan:

TFA için orijinal RFC teklifi, köklü API modellerine uyan ancak Özel İlgi Grubumuzda tanımlandığı şekilde çekirdek TensorFlow'da bulunmayan yeni işlevleri uygulayan katkılar için topluluk tarafından yönetilen bir havuz oluşturma hedefiyle 2018-12-14 tarihliydi. (SIG) tüzüğü .

Yıllar geçtikçe, sağlıklı katılımcı toplulukları (Keras-CV, Keras-NLP, vb.) ile bizimkine benzer hedeflerle yeni havuzlar oluşturuldu ve katkı kabul kriterleri önemli ölçüde örtüşüyor (örn. gerekli alıntıların sayısı). Ek olarak, Keras 2020'de çekirdek TensorFlow'dan ayrıldığından beri topluluk katkısının önündeki engel önemli ölçüde düşürüldü.

Anlaşılır bir şekilde, katkıların nereye inmesi gerektiği ve en iyi nerede muhafaza edileceği konusunda artan bir belirsizlik var. TFA'da bulunan birçok özellik aynı anda diğer TensorFlow Community depolarında da mevcuttur. Sadece birkaç örnek olarak:

Orijinal RFC'nin bir parçası olarak Özel İlgi Grubumuz , tf.contrib ve keras.contrib havuzlarından kod taşımayı kabul etti. Bunu yaparken TFA, C++ özel operasyonlarını miras aldı ve bu da TFA'yı, oluşturulacak ve dağıtılacak C++ özel operasyonlarına katkıda bulunmak için TensorFlow topluluğunda benzersiz bir yer haline getirdi. Ancak, uygun gördükleri şekilde özel operasyonları derleyebilmeleri ve dağıtabilmeleri için bu altyapının çoğunu yakın zamanda Keras-CV'ye taşıdık .

Sıradaki ne:

  • Bakım sürümleri 1 yıl boyunca (Mayıs 2024'e kadar) devam edecek.
  • 0.20 TFA sürümündeki içe aktarma uyarıları.
  • Bu bilgiler ayrıca GitHub izleme sorunu üzerinde de yayınlanmaktadır.
  • Eşdeğer işlevsellik envanteri burada mevcuttur .