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 sağlanan ve katkıda bulunulan uzantıların bir deposudur. 4 yıl boyunca, 200 katkıda bulunan kişi TFA deposunu, bağımlılık grafiğimize göre 8.000'den fazla github deposu tarafından kullanılan, topluluğa ait ve yönetilen bir başarıya dönüştürdü. Katkıda bulunan veya topluluk üyesi olarak katılan herkese çabaları için içtenlikle teşekkür etmek istiyoruz.

Son zamanlarda, TFA ile Keras-CV ve Keras-NLP kütüphaneleri arasında katkılar ve kapsam açısından artan bir örtüşme söz konusudur. Gelecekteki çakışmaları önlemek için, TensorFlow'a yönelik yeni ve mevcut eklentilerin mümkün olan yerlerde Keras proje havuzlarında en iyi şekilde korunacağına inanıyoruz.

TensorFlow Eklentilerini Sonlandırma Kararı

TensorFlow uzantılarının nerede kullanılabileceğini, bakımının yapılabileceğini ve katkıda bulunulabileceğini birleştirmenin TensorFlow topluluğunun çıkarına olduğuna inanıyoruz. Bu nedenle, TensorFlow Eklentilerini minimum bakım ve sürüm moduna geçirme planlarımızı duyurmamız acı tatlı.

TFA SIG Eklentileri, bu projeye yeni özelliklerin geliştirilmesini ve tanıtılmasını sonlandıracak. 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 amacıyla bir yıl boyunca (Mayıs 2024'e kadar) minimum bakım ve sürüm moduna geçiş yapacaktır ). 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ığı gibi temel TensorFlow'da bulunmayan yeni işlevleri uygulayan katkılar için topluluk tarafından yönetilen bir depo oluşturma hedefiyle 2018-12-14 tarihliydi. (SIG) sözleşmesi .

Yıllar geçtikçe, sağlıklı katkıda bulunan topluluklara sahip yeni veri havuzları (Keras-CV, Keras-NLP, vb.) bizimkilere benzer hedeflerle oluşturulmuştur ve katkı kabul kriterleri önemli ölçüde örtüşmektedir (örn. gerekli alıntı sayısı). Ek olarak Keras'ın 2020'de çekirdek TensorFlow'dan ayrılmasından bu yana topluluk katkısının önündeki engel önemli ölçüde azaldı.

Anlaşılır bir şekilde, katkıların nereye ulaşması gerektiği ve bunların en iyi nerede muhafaza edileceği konusunda belirsizlikler artıyor. TFA'da bulunan birçok özellik aynı anda diğer TensorFlow Topluluğu havuzlarında da mevcuttur. Sadece birkaç örnek olarak:

Orijinal RFC'nin bir parçası olarak Özel İlgi Grubumuz , tf.contrib ve keras.contrib depolarından kod taşımayı kabul etti. Bunu yaparken TFA, C++ özel operasyonlarını devraldı ve bu da TFA'yı TensorFlow topluluğu içinde C++ özel operasyonlarının oluşturulmasına ve dağıtılmasına katkıda bulunan benzersiz bir yer haline getirdi. Ancak yakın zamanda bu altyapının çoğunu Keras-CV'ye taşıdık, böylece özel operasyonları uygun gördükleri şekilde derleyip dağıtabilirler.

Sırada Ne Var?

  • 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 bilgi aynı zamanda GitHub izleme sayısında da yayınlanmaktadır.
  • Eşdeğer işlevlerin bir envanteri burada mevcuttur .