Esta página foi traduzida pela API Cloud Translation.
Switch to English

Complementos para TensorFlow




O TensorFlow Addons é 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 núcleo do TensorFlow. O TensorFlow suporta nativamente um grande número de operadores, camadas, métricas, perdas e otimizadores. No entanto, em um campo de movimento rápido 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 é usada 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
 

Construções noturnas

Também há versões noturnas de TensorFlow Addons no pacote pip tfa-nightly , que é construído 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.

 pip install tfa-nightly
 

Instalando a partir do código-fonte

Você também pode instalar a partir da fonte. Isso requer o sistema de compilação 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 principais

API padronizada em subpacotes

A experiência do usuário e a manutenção do projeto são conceitos fundamentais no TF-Addons. Para conseguir isso, exigimos que nossas adições estejam em conformidade com os padrões de API estabelecidos, vistos no núcleo do TensorFlow.

Operações personalizadas de GPU / CPU

Um grande benefício dos TensorFlow Addons é que existem operações pré-compiladas. Se uma instalação do CUDA 10 não for encontrada, o op voltará automaticamente à implementação da CPU.

Manutenção Proxy

Os addons foram projetados para compartimentar subpacotes e submódulos, para que possam ser mantidos por usuários com experiência e interesse no componente.

A manutenção de subpacotes só será concedida após uma contribuição substancial 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 erros, 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 para entrada, pois isso não incluirá permissões de gravação no repositório.

Para mais informações, consulte o RFC sobre este tópico.

Avaliação periódica de subpacotes

Dada a natureza desse repositório, 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, realizaremos revisões semestrais de nosso código para garantir que tudo ainda pertença ao repositório. Os fatores contribuintes para esta revisão serão:

  1. Número de mantenedores ativos
  2. Quantidade de uso do OSS
  3. Quantidade de problemas ou bugs atribuídos ao código
  4. Se uma solução melhor já estiver disponível

A funcionalidade dentro dos TensorFlow Addons pode ser categorizada em três grupos:

  • Sugerido : API bem mantida; o uso é incentivado.
  • Desanimado : uma alternativa melhor está disponível; a API é mantida por razões históricas; ou a API requer manutenção e é o período de espera para ser preterido.
  • Descontinuado : use por seu próprio risco; sujeito a ser excluído.

A mudança de status entre esses três grupos é: Sugerida <-> Desencorajada -> Descontinuada.

O período entre uma API sendo marcada como descontinuada e excluída será de 90 dias. A lógica é:

  1. Caso os TensorFlow Addons sejam lançados mensalmente, haverá 2-3 versões antes que uma API seja excluída. As notas de versão podem dar ao usuário aviso suficiente.

  2. 90 dias oferecem 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 erros e documentação. Consulte as diretrizes de contribuição para obter um guia sobre como contribuir. Este projeto segue o código de conduta da TensorFlow . Ao participar, espera-se que você defenda esse código.

Comunidade

Licença

Licença Apache 2.0