Reserve a data! O Google I / O retorna de 18 a 20 de maio Registre-se agora
Esta página foi traduzida pela API Cloud Translation.
Switch to English

Complementos do TensorFlow




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:

  1. Número de mantenedores ativos
  2. Quantidade de uso de OSS
  3. Quantidade de problemas ou bugs atribuídos ao código
  4. 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 é:

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

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

Licença

Licença Apache 2.0