lançamento significativo da plataforma de aprendizado de máquina , fornecendo implementações prontas de vários algoritmos de aprendizado profundo, uma interface de programação simples para construir modelos em Python e uma interface de baixo nível para C++, permitindo gerenciar a construção e execução de gráficos computacionais. O código do sistema é escrito em C++ e Python e sob licença Apache.
A plataforma foi inicialmente desenvolvida pela equipe do Google Brain e é usada em serviços do Google para reconhecimento de voz, detecção de rostos em fotos, determinação de semelhança de imagens, filtragem de spam no Gmail, de notícias no Google News e organização de traduções com base no contexto. Sistemas de aprendizado de máquina distribuídos podem ser criados em hardware padrão, graças ao suporte integrado no TensorFlow para distribuir computações em várias CPUs ou GPUs.
O TensorFlow fornece uma biblioteca de algoritmos prontos para cálculos numéricos, implementados através de gráficos de fluxos de dados (data flow graphs). Os nós nesses gráficos realizam operações matemáticas ou pontos de entrada/saída, enquanto as arestas do gráfico representam arrays multidimensionais de dados (tensores) que fluem entre os nós.
Os nós podem estar vinculados a dispositivos computacionais e executados de forma assíncrona, processando simultaneamente todos os tensores adequados a eles, permitindo a organização do trabalho simultâneo dos nós em uma rede neural, assim como a ativação simultânea de neurônios no cérebro.
O foco na preparação da nova versão foi a simplificação e a facilidade de uso. :
- Para construir e treinar modelos, foi proposto uma nova API de alto nível , que fornece várias opções de interfaces para construção de modelos (Sequential, Functional, Subclassing) com a possibilidade de (sem compilação prévia) e com um mecanismo de depuração simples;
- Um API foi adicionado para organizar de modelos com mínima modificação do código existente. Além da possibilidade de distribuir computações em , há suporte experimental para distribuir o processo de treinamento em vários manipuladores independentes e a possibilidade de utilizar (unidade de processamento de tensores);
- Em vez de um modelo declarativo de construção de grafos com execução através de tf.Session, foi possibilitada a escrita de funções comuns na linguagem Python, que podem ser transformadas em grafos e, em seguida, executadas remotamente, serializadas ou otimizadas para melhorar o desempenho com o uso da chamada tf.function;
- Adicionado o tradutor , que transforma o fluxo de comandos Python em expressões TensorFlow, permitindo o uso de código em Python dentro de funções decoradas com tf.function, tf.data, tf.distribute e tf.keras;
- No SavedModel, foi unificado o formato de troca de modelos e adicionada a compatibilidade para salvar e restaurar o estado dos modelos. Os modelos construídos para TensorFlow agora podem ser utilizados em (em dispositivos móveis), (no navegador ou Node.js), e ;
- Unificados os APIs tf.train.Optimizers e tf.keras.Optimizers, ao invés de compute_gradients para calcular gradientes, foi proposto uma nova classe ;
- Significativamente aumentada a performance ao usar GPU.
A velocidade de aprendizado de modelos em sistemas com GPU NVIDIA Volta e Turing aumentou até três vezes; - realização de uma grande limpeza na API, muitos chamados foram renomeados ou removidos, o suporte a variáveis globais em métodos auxiliares foi descontinuado. Em vez de tf.app, tf.flags, tf.logging, foi proposto uma nova API absl-py. Para continuar usando a antiga API, foi preparado um módulo compat.v1.
Fonte: opennet.ru
