TensorFlow Addons là kho lưu trữ 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ó trong lõi TensorFlow. TensorFlow vốn hỗ trợ một số lượng lớn toán tử, lớp, số liệu, tổn thất và trình tối ưu hóa. Tuy nhiên, trong một lĩnh vực chuyển động nhanh như ML, có nhiều phát triển mới thú vị chưa thể tích hợp vào TensorFlow cốt lõi (vì khả năng ứng dụng rộng rãi của chúng chưa rõ ràng hoặc nó chủ yếu được sử dụng bởi một nhóm nhỏ hơn trong cộng đồng).
Cài đặt
Bản dựng ổn định
Để cài đặt phiên bản mới nhất, hãy chạy như sau:
pip install tensorflow-addons
Để sử dụng addon:
import tensorflow as tf
import tensorflow_addons as tfa
Công trình hàng đêm
Ngoài ra còn có các bản dựng hàng đêm của TensorFlow Addons trong gói pip tfa-nightly
, được xây dựng dựa trên phiên bản ổn định mới nhất của TensorFlow. Bản dựng hàng đêm bao gồm các tính năng mới hơn nhưng có thể kém ổn định hơn so với bản phát hành đã được phiên bản.
pip install tfa-nightly
Cài đặt từ nguồn
Bạn cũng có thể cài đặt từ nguồn. Điều này đòi hỏi hệ thống xây dựng Bazel .
git clone https://github.com/tensorflow/addons.git
cd addons
# If building GPU Ops (Requires CUDA 10.0 and CuDNN 7)
export TF_NEED_CUDA=1
export CUDA_TOOLKIT_PATH="/path/to/cuda10" (default: /usr/local/cuda)
export CUDNN_INSTALL_PATH="/path/to/cudnn" (default: /usr/lib/x86_64-linux-gnu)
# This script links project with TensorFlow dependency
python3 ./configure.py
bazel build build_pip_pkg
bazel-bin/build_pip_pkg artifacts
pip install artifacts/tensorflow_addons-*.whl
Khái niệm cốt lõi
API được tiêu chuẩn hóa trong các gói con
Trải nghiệm người dùng và khả năng bảo trì dự án là những khái niệm cốt lõi trong TF-Addons. Để đạt được những điều này, chúng tôi yêu cầu các phần bổ sung của chúng tôi phải tuân thủ các mẫu API đã thiết lập được thấy trong lõi TensorFlow.
Hoạt động tùy chỉnh GPU/CPU
Lợi ích chính của TensorFlow Addons là có các hoạt động được biên dịch sẵn. Nếu không tìm thấy cài đặt CUDA 10 thì op sẽ tự động quay lại triển khai CPU.
Bảo trì proxy
Addons đã được thiết kế để phân chia các gói con và mô-đun con sao cho chúng có thể được duy trì bởi những người dùng có chuyên môn và có mối quan tâm đặc biệt đến thành phần đó.
Quyền duy trì gói con sẽ chỉ được cấp sau khi đã có đóng góp đáng kể nhằm hạn chế số lượng người dùng có quyền ghi. Đóng góp có thể ở dạng kết thúc vấn đề, sửa lỗi, tài liệu, mã mới hoặc tối ưu hóa mã hiện có. Quyền bảo trì mô-đun con có thể được cấp với rào cản gia nhập thấp hơn vì điều này sẽ không bao gồm quyền ghi vào kho lưu trữ.
Để biết thêm thông tin, hãy xem RFC về chủ đề này.
Đánh giá định kỳ các gói con
Do tính chất của kho lưu trữ này, các gói con và mô-đun con có thể ngày càng trở nên ít hữu ích hơn đối với cộng đồng theo thời gian. Để giữ cho kho lưu trữ bền vững, chúng tôi sẽ thực hiện đánh giá mã của mình hai năm một lần để đảm bảo mọi thứ vẫn thuộc về kho lưu trữ. Các yếu tố đóng góp cho đánh giá này sẽ là:
- Số lượng người bảo trì đang hoạt động
- Lượng sử dụng OSS
- Số lượng vấn đề hoặc lỗi liên quan đến mã
- Nếu hiện có giải pháp tốt hơn
Chức năng trong TensorFlow Addons có thể được phân thành ba nhóm:
- Đề xuất : API được duy trì tốt; việc sử dụng được khuyến khích.
- Nản lòng : có sẵn một giải pháp thay thế tốt hơn; API được giữ lại vì lý do lịch sử; hoặc API yêu cầu bảo trì và thời gian chờ sẽ không còn được dùng nữa.
- Không dùng nữa : bạn phải tự chịu rủi ro khi sử dụng; chủ đề cần xóa.
Sự thay đổi trạng thái giữa ba nhóm này là: Được đề xuất <-> Không được khuyến khích -> Không được dùng nữa.
Khoảng thời gian từ khi API được đánh dấu là không dùng nữa cho đến khi bị xóa sẽ là 90 ngày. Lý do là:
Trong trường hợp TensorFlow Addons phát hành hàng tháng, sẽ có 2-3 bản phát hành trước khi API bị xóa. Ghi chú phát hành có thể cung cấp đủ cảnh báo cho người dùng.
90 ngày giúp người bảo trì có nhiều thời gian để sửa mã của họ.
Đóng góp
TF-Addons là một dự án nguồn mở do cộng đồng lãnh đạo. Như vậy, dự án phụ thuộc vào sự đóng góp của công chúng, sửa lỗi và tài liệu. Vui lòng xem hướng dẫn đóng góp để biết cách đóng góp. Dự án này tuân thủ quy tắc ứng xử của TensorFlow . Bằng cách tham gia, bạn phải tuân thủ quy tắc này.
Cộng đồng
- Danh sách gửi thư công cộng
- Ghi chú cuộc họp hàng tháng của SIG
- Tham gia danh sách gửi thư của chúng tôi và nhận lịch mời tham dự cuộc họp