
TensorFlow Addons является хранилищем взносов, соответствующих устоявшихся шаблонов API, но реализовать новые функциональные возможности, недоступные в основной TensorFlow. TensorFlow изначально поддерживает большое количество операторов, уровней, показателей, потерь и оптимизаторов. Однако в быстро меняющейся области, такой как ML, есть много интересных новых разработок, которые нельзя интегрировать в ядро TensorFlow (поскольку их широкая применимость еще не ясна или в основном используется небольшой группой сообщества).
Установка
Стабильные сборки
Чтобы установить последнюю версию, запустите следующее:
pip install tensorflow-addons
Чтобы использовать аддоны:
import tensorflow as tf
import tensorflow_addons as tfa
Ночные сборки
Есть также ночные сборки TensorFlow Addons под пакетом пипа tfa-nightly
, которая построена на последнюю версию стабильной TensorFlow. Ночные сборки включают новые функции, но могут быть менее стабильными, чем выпуски с поддержкой версий.
pip install tfa-nightly
Установка из исходного кода
Вы также можете установить из исходников. Это требует Базэл системы сборки.
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
Основные концепции
Стандартизированный API внутри подпакетов
Пользовательский опыт и ремонтопригодность проекта являются основными концепциями TF-Addons. Для этого мы требуем, чтобы наши дополнения соответствовали установленным шаблонам API, представленным в ядре TensorFlow.
Пользовательские операции GPU / CPU
Основным преимуществом TensorFlow Addons является наличие предварительно скомпилированных операций. Если установка CUDA 10 не будет найдена, операция автоматически вернется к реализации ЦП.
Доверенность
Надстройки были разработаны для разделения подпакетов и подмодулей, чтобы они могли поддерживаться пользователями, имеющими опыт и заинтересованность в этом компоненте.
Сопровождение подпакета будет предоставлено только после того, как будет внесен существенный вклад, чтобы ограничить количество пользователей с разрешением на запись. Вклад может быть в форме закрытия проблем, исправления ошибок, документации, нового кода или оптимизации существующего кода. Сопровождение подмодуля может быть предоставлено с более низким барьером для входа, поскольку это не будет включать разрешения на запись в репо.
Для получения дополнительной информации см в RFC по этой теме.
Периодическая оценка подпакетов
Учитывая характер этого репозитория, подпакеты и подмодули могут становиться все менее и менее полезными для сообщества с течением времени. Чтобы репозиторий оставался устойчивым, мы будем проводить два раза в год обзоры нашего кода, чтобы убедиться, что все по-прежнему принадлежит репозиторию. Факторами, способствующими этому обзору, будут:
- Количество активных сопровождающих
- Количество использования OSS
- Количество проблем или ошибок, связанных с кодом
- Если теперь доступно лучшее решение
Функциональность в надстройках TensorFlow можно разделить на три группы:
- Рекомендуется: хорошо поддерживается API; использование приветствуется.
- Обескураженный: лучшая альтернатива доступна; API сохраняется по историческим причинам; или API требует обслуживания, и это период ожидания, который будет исключен.
- Устаревшее: использование на свой страх и риск; подлежит удалению.
Изменение статуса между этими тремя группами: Предлагаемое <-> Не рекомендуется -> Устарело.
Период между пометкой API как устаревшим и удалением составляет 90 дней. Обоснование:
Если TensorFlow Addons выпускается ежемесячно, перед удалением API будет выпущено 2–3 выпуска. Примечания к выпуску могут дать пользователю достаточно предупреждений.
90 дней дают разработчикам достаточно времени, чтобы исправить свой код.
Содействие
TF-Addons - это проект с открытым исходным кодом, возглавляемый сообществом. Таким образом, проект зависит от общественного участия, исправлений ошибок и документации. Пожалуйста , смотрите принципы взносов для руководства о том , как внести свой вклад. Этот проект придерживается кодекса TensorFlow о поведении . Участвуя, вы должны соблюдать этот кодекс.
Сообщество
- Публичный список рассылки
- Ежемесячные отчеты о собраниях SIG
- Присоединяйтесь к нашему списку рассылки и получайте приглашения на встречу из календаря