Tiện ích TensorFlow




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à:

  1. Số lượng người bảo trì đang hoạt động
  2. Lượng sử dụng OSS
  3. Số lượng vấn đề hoặc lỗi liên quan đến mã
  4. 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à:

  1. 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.

  2. 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

Giấy phép

Giấy phép Apache 2.0