
TensorFlow Complementos é um repositório de contribuições que estejam em conformidade com os padrões da API bem estabelecidas, mas implementar nova funcionalidade não disponível em TensorFlow núcleo. O TensorFlow oferece suporte nativo a um grande número de operadores, camadas, métricas, perdas e otimizadores. No entanto, em um campo de evolução rápida como o ML, há muitos novos desenvolvimentos interessantes que não podem ser integrados ao TensorFlow principal (porque sua ampla aplicabilidade ainda não está clara ou é usado principalmente por um subconjunto menor da comunidade).
Instalação
Construções estáveis
Para instalar a versão mais recente, execute o seguinte:
pip install tensorflow-addons
Para usar complementos:
import tensorflow as tf
import tensorflow_addons as tfa
Nightly Builds
Há também nightly builds de TensorFlow Complementos no âmbito do pacote pip tfa-nightly
, que é construída contra a última versão estável do TensorFlow. As compilações noturnas incluem recursos mais recentes, mas podem ser menos estáveis do que as versões com versão.
pip install tfa-nightly
Instalando a partir da fonte
Você também pode instalar a partir da fonte. Isso requer o Bazel sistema de compilação.
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
Conceitos Básicos
API padronizada em subpacotes
A experiência do usuário e a sustentabilidade do projeto são conceitos centrais nos Addons do TF. Para conseguir isso, exigimos que nossas adições estejam em conformidade com os padrões de API estabelecidos vistos no TensorFlow principal.
GPU / CPU Custom-Ops
Um grande benefício dos complementos do TensorFlow é que existem operações pré-compiladas. Se uma instalação do CUDA 10 não for encontrada, o op voltará automaticamente para uma implementação de CPU.
Proxy Maintainership
Addons foi projetado para compartimentar subpacotes e submódulos para que possam ser mantidos por usuários que têm experiência e interesse naquele componente.
A manutenção do subpacote só será concedida após uma contribuição substancial ter sido feita a fim de limitar o número de usuários com permissão de gravação. As contribuições podem vir na forma de fechamento de problemas, correções de bugs, documentação, novo código ou otimização de código existente. A manutenção do submódulo pode ser concedida com uma barreira inferior para a entrada, pois isso não incluirá permissões de gravação para o repo.
Para mais informações consulte o RFC sobre este tema.
Avaliação periódica de subpacotes
Dada a natureza deste repositório, os subpacotes e submódulos podem se tornar cada vez menos úteis para a comunidade com o passar do tempo. Para manter o repositório sustentável, faremos revisões semestrais de nosso código para garantir que tudo ainda pertença ao repositório. Os fatores que contribuem para esta revisão serão:
- Número de mantenedores ativos
- Quantidade de uso de OSS
- Quantidade de problemas ou bugs atribuídos ao código
- Se uma solução melhor estiver disponível
A funcionalidade nos complementos do TensorFlow pode ser categorizada em três grupos:
- Sugerida: API bem conservados; o uso é encorajado.
- Desencorajado: uma alternativa melhor está disponível; a API é mantida por motivos históricos; ou a API requer manutenção e é o período de espera para ser descontinuado.
- Obsoleta: Uso em seu próprio risco; assunto a ser excluído.
A mudança de status entre esses três grupos é: Sugerido <-> Desencorajado -> Obsoleto.
O período entre uma API ser marcada como obsoleta e ser excluída é de 90 dias. O motivo é:
Caso os complementos do TensorFlow sejam lançados mensalmente, haverá 2 a 3 versões antes que uma API seja excluída. As notas de lançamento podem dar ao usuário avisos suficientes.
90 dias dá aos mantenedores tempo suficiente para corrigir seu código.
Contribuindo
TF-Addons é um projeto de código aberto liderado pela comunidade. Como tal, o projeto depende de contribuições públicas, correções de bugs e documentação. Por favor, veja as diretrizes de contribuição para um guia sobre como contribuir. Este projeto adere ao código de conduta da TensorFlow . Ao participar, espera-se que você cumpra este código.
Comunidade
- Lista Pública de Correio
- Notas de reunião mensal da SIG
- Junte-se à nossa lista de e-mail e receba convites do calendário para a reunião