
Os complementos do TensorFlow são um repositório de contribuições que estão em conformidade com padrões de API bem estabelecidos, mas implementam novas funcionalidades não disponíveis no TensorFlow principal. 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
Também há compilações noturnas de complementos do TensorFlow no pacote pip tfa-nightly
, que é compilado com a versão estável mais recente do TensorFlow. As compilações noturnas incluem recursos mais novos, mas podem ser menos estáveis que as versões com versão.
pip install tfa-nightly
Instalando da fonte
Você também pode instalar a partir da fonte. Isso requer o sistema de compilação do 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_HOME="/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 no TF-Addons. 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 eles 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 para 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 mais baixa de entrada, pois isso não incluirá permissões de gravação para o repo.
Para obter mais informações, consulte o RFC sobre este tópico.
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 repo. Os fatores de contribuição 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:
- Sugerido : API bem mantida; o uso é encorajado.
- Desanimado : 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.
- Obsoleto : use por sua própria conta e 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 será de 90 dias. A razão é:
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. Consulte as diretrizes de contribuição para obter um guia sobre como contribuir. Este projeto segue o código de conduta do TensorFlow . Ao participar, espera-se que você siga este código.
Comunidade
- Lista Pública de Correio
- SIG Mensal Reunião Notas
- Junte-se à nossa lista de e-mails e receba convites do calendário para a reunião