Tương lai của 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 được cộng đồng duy trì và đóng góp cho TensorFlow, được tạo lần đầu tiên 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 hơn 8.000 kho lưu trữ github sử dụng theo biểu đồ phụ thuộc của chúng tôi. Chúng tôi muốn dành chút thời gian để chân thành cảm ơn tất cả những 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ó 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 . Để ngăn chặn sự chồng chéo trong tương lai, chúng tôi tin rằng các tiện ích bổ sung mới và hiện có của TensorFlow sẽ được duy trì tốt nhất trong kho dự án Keras, nếu có thể.

Quyết định ngừng sử dụng các tiện ích bổ sung TensorFlow

Chúng tôi tin rằng cộng đồng TensorFlow nên hợp nhất những nơi có thể sử dụng, duy trì và đóng góp các tiện ích mở rộng TensorFlow. 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 TensorFlow Addons sang chế độ phát hành và bảo trì tối thiểu.

TFA SIG Addons sẽ kết thúc việc 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) để có thời gian thích hợp để bạn điều chỉnh mọi phần phụ thuộc đố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 RFC ban đầu cho TFA được đề xuất vào ngày 14/12/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ý để đóng góp phù hợp với 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ó trong TensorFlow cốt lõi như được xác định trong Nhóm lợi ích đặc biệt của chúng tôi (SIG) điều lệ .

Nhiều năm trôi qua, các kho lưu trữ mới với cộng đồng cộng tác viên 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ư mục tiêu 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 được yêu cầu). 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 đóng góp của cộng đồng đã được hạ xuống đáng kể.

Có thể hiểu được, ngày càng có nhiều sự mơ hồ về nơi đóng góp nên được thực hiệ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ừ kho lưu trữ tf.contribkeras.contrib . Khi làm như vậy, TFA đã kế thừa các hoạt động 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 hoạt động 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.

Tiếp theo là gì:

  • Việc phát hành bảo trì sẽ tiếp tục trong 1 năm (cho đế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 kho lưu trữ có chức năng tương đương có sẵn ở đây .