Tương lai của các 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) là kho lưu trữ các tiện ích mở rộng do cộng đồng duy trì và đóng góp cho TensorFlow, được tạo lần đầu vào năm 2018 và được duy trì bởi cộng đồng SIG-Addons . Trong suốt 4 năm, 200 người đóng góp đã xây dựng kho lưu trữ TFA thành một thành công do cộng đồng sở hữu và quản lý đang được sử dụng bởi hơn 8.000 kho lưu trữ github theo biểu đồ phụ thuộc của chúng tôi. Chúng tôi muốn dành một chút thời gian để chân thành cảm ơn tất cả mọi người đã tham gia với tư cách là người đóng góp hoặc thành viên cộng đồng vì những nỗ lực của họ.

Gần đây, ngày càng có nhiều sự chồng chéo về đóng góp và phạm vi giữa TFA và các thư viện Keras-CVKeras-NLP . Để tránh chồng chéo trong tương lai, chúng tôi tin rằng các addon mới và hiện có cho TensorFlow sẽ được duy trì tốt nhất trong kho dự án Keras, nếu có thể.

Quyết định kết thúc Addon TensorFlow

Chúng tôi tin rằng lợi ích tốt nhất của cộng đồng TensorFlow là hợp nhất nơi các tiện ích mở rộng TensorFlow có thể được sử dụng, duy trì và đóng góp. Vì điều này, thật buồn vui lẫn lộn khi chúng tôi công bố kế hoạch chuyển các Addon TensorFlow sang chế độ phát hành và bảo trì tối thiểu.

TFA SIG Addons sẽ kết thúc quá trình phát triển và giới thiệu các tính năng mới cho dự án này. TFA sẽ chuyển sang chế độ phát hành và bảo trì tối thiểu trong một năm (cho đến tháng 5 năm 2024) nhằm cung cấp thời gian thích hợp để bạn điều chỉnh bất kỳ yếu tố phụ thuộc nào đối với các kho lưu trữ chồng chéo trong cộng đồng TensorFlow của chúng tôi ( Keras , Keras-CVKeras-NLP ). Trong tương lai, vui lòng cân nhắc đóng góp cho các dự án Keras-CV và Keras-NLP.

Lý lịch:

Đề xuất ban đầu của RFC cho TFA là vào ngày 14 tháng 12 năm 2018 với mục tiêu đã nêu là xây dựng kho lưu trữ do cộng đồng quản lý cho các đóng góp tuân thủ các mẫu API được thiết lập tốt, nhưng triển khai chức năng mới không có sẵn trong TensorFlow cốt lõi như được định nghĩa trong Nhóm sở thích đặc biệt của chúng tôi (SIG) điều lệ .

Khi nhiều năm trôi qua, các kho lưu trữ mới với các cộng đồng đóng góp lành mạnh (Keras-CV, Keras-NLP, v.v.) đã được tạo ra với các mục tiêu tương tự như của chúng tôi và các tiêu chí để chấp nhận đóng góp trùng lặp đáng kể (ví dụ: số lượng trích dẫn bắt buộc). Ngoài ra, kể từ khi Keras tách ra khỏi TensorFlow cốt lõi vào năm 2020 , rào cản đối với sự đóng góp của cộng đồng đã được hạ thấp đáng kể.

Có thể hiểu được, ngày càng có nhiều sự mơ hồ về nơi các khoản đóng góp nên đến và nơi chúng sẽ được duy trì tốt nhất. Nhiều tính năng có sẵn trong TFA đồng thời có sẵn trong các kho lưu trữ khác của Cộng đồng TensorFlow. Như chỉ là một vài ví dụ:

Là một phần của RFC ban đầu, Nhóm lợi ích đặc biệt của chúng tôi đã đồng ý di chuyển mã từ các kho lưu trữ tf.contribkeras.contrib . Khi làm như vậy, TFA đã kế thừa các tùy chỉnh C++, khiến TFA trở thành một vị trí duy nhất trong cộng đồng TensorFlow để đóng góp các tùy chỉnh C++ được xây dựng và phân phối. Tuy nhiên, gần đây chúng tôi đã di chuyển phần lớn cơ sở hạ tầng đó sang Keras-CV để họ có thể biên dịch và phân phối các hoạt động tùy chỉnh khi họ thấy phù hợp.

Cái gì tiếp theo:

  • Các đợt phát hành bảo trì sẽ tiếp tục trong 1 năm (đến tháng 5 năm 2024).
  • Cảnh báo nhập khẩu trong bản phát hành 0,20 TFA.
  • Thông tin này cũng được công bố trên vấn đề theo dõi GitHub
  • Một bản kiểm kê các chức năng tương đương có sẵn tại đây .