Masa Depan Addon 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) adalah repositori ekstensi yang dikelola dan disumbangkan oleh komunitas untuk TensorFlow, pertama kali dibuat pada tahun 2018 dan dikelola oleh komunitas SIG-Addons . Selama 4 tahun, 200 kontributor telah membangun repositori TFA menjadi kesuksesan yang dimiliki dan dikelola komunitas yang digunakan oleh lebih dari 8.000 repositori github menurut grafik dependensi kami. Kami ingin meluangkan waktu untuk mengucapkan terima kasih yang tulus kepada semua orang yang terlibat sebagai kontributor atau anggota komunitas atas upaya mereka.

Baru-baru ini, terjadi peningkatan tumpang tindih dalam kontribusi dan ruang lingkup antara TFA dan perpustakaan Keras-CV , dan Keras-NLP . Untuk mencegah tumpang tindih di masa mendatang, kami percaya bahwa tambahan baru dan yang sudah ada untuk TensorFlow akan dikelola dengan baik di repositori proyek Keras, jika memungkinkan.

Keputusan untuk Mengakhiri Addons TensorFlow

Kami percaya bahwa adalah kepentingan terbaik komunitas TensorFlow untuk mengkonsolidasikan tempat ekstensi TensorFlow dapat digunakan, dipelihara, dan disumbangkan. Karena itu, sangat disayangkan bahwa kami mengumumkan rencana kami untuk memindahkan TensorFlow Addons ke mode pemeliharaan dan rilis minimal.

TFA SIG Addons akan mengakhiri pengembangan dan pengenalan fitur baru untuk proyek ini. TFA akan beralih ke mode pemeliharaan dan rilis minimal selama satu tahun (hingga Mei 2024) untuk memberikan waktu yang tepat bagi Anda untuk menyesuaikan dependensi apa pun ke repositori yang tumpang tindih di komunitas TensorFlow kami ( Keras , Keras-CV , dan Keras-NLP ). Ke depan, harap pertimbangkan untuk berkontribusi pada proyek Keras-CV dan Keras-NLP.

Latar belakang:

Proposal RFC asli untuk TFA bertanggal 14-12-2018 dengan tujuan yang dinyatakan untuk membangun repositori yang dikelola komunitas untuk kontribusi yang sesuai dengan pola API yang sudah mapan, tetapi menerapkan fungsi baru yang tidak tersedia di TensorFlow inti seperti yang ditentukan dalam Grup Minat Khusus kami (SIG) piagam .

Seiring berjalannya waktu, repositori baru dengan komunitas kontributor yang sehat (Keras-CV, Keras-NLP, dll.) telah dibuat dengan tujuan yang serupa dengan kami dan kriteria untuk penerimaan kontribusi tumpang tindih secara signifikan (misalnya jumlah kutipan yang diperlukan). Selain itu, sejak Keras keluar dari TensorFlow inti pada tahun 2020 , penghalang untuk kontribusi komunitas telah diturunkan secara substansial.

Maklum, ada peningkatan ketidakjelasan mengenai di mana kontribusi harus diberikan dan di mana kontribusi tersebut akan dipertahankan dengan baik. Banyak fitur yang tersedia di TFA tersedia secara bersamaan di repositori Komunitas TensorFlow lainnya. Sebagai beberapa contoh saja:

Sebagai bagian dari RFC asli, Special Interest Group kami setuju untuk memigrasikan kode dari repositori tf.contrib dan keras.contrib . Dengan demikian, TFA mewarisi C++ custom-ops, yang membuat TFA menjadi tempat unik di komunitas TensorFlow untuk menyumbangkan C++ custom-ops untuk dibuat dan didistribusikan. Namun, kami baru-baru ini memigrasikan sebagian besar infrastruktur itu ke Keras-CV sehingga mereka dapat mengkompilasi dan mendistribusikan operasi kustom sesuai keinginan mereka.

Apa berikutnya:

  • Rilis pemeliharaan akan berlanjut selama 1 tahun (hingga Mei 2024).
  • Peringatan impor dalam rilis TFA 0.20.
  • Informasi ini juga dipublikasikan di masalah pelacakan GitHub
  • Inventaris dengan fungsi yang setara tersedia di sini .