Lançamento do sistema de aprendizado de máquina TensorFlow 2.0

Introduzido lançamento significativo da plataforma de aprendizado de máquina TensorFlow2.0, que fornece implementações prontas de vários algoritmos de aprendizado de máquina profundo, uma interface de programação simples para construir modelos em Python e uma interface de baixo nível para a linguagem C++ que permite controlar a construção e execução de gráficos computacionais. O código do sistema é escrito em C++ e Python e distribuído por sob a licença Apache.

A plataforma foi originalmente desenvolvida pela equipe do Google Brain e é utilizada nos serviços do Google para reconhecimento de fala, identificação de rostos em fotografias, determinação de semelhança de imagens, filtragem de spam no Gmail, seleção notícias no Google Notícias e organização da tradução levando em consideração o significado. Os sistemas distribuídos de aprendizado de máquina podem ser criados em hardware padrão, graças ao suporte integrado do TensorFlow para distribuição de cálculos entre várias CPUs ou GPUs.

O TensorFlow fornece uma biblioteca de algoritmos de cálculo numérico prontos, implementados por meio de gráficos de fluxo de dados. Os nós em tais gráficos implementam operações matemáticas ou pontos de entrada/saída, enquanto as bordas do gráfico representam matrizes de dados multidimensionais (tensores) que fluem entre os nós.
Os nós podem ser atribuídos a dispositivos computacionais e executados de forma assíncrona, processando simultaneamente todos os tesores que lhes são adequados, o que permite organizar o funcionamento simultâneo dos nós em uma rede neural por analogia com a ativação simultânea de neurônios no cérebro.

O foco principal na preparação da nova versão foi a simplificação e facilidade de uso. Alguns inovações:

  • Uma nova API de alto nível foi proposta para construção e treinamento de modelos Keras, que fornece diversas opções de interface para construção de modelos (Sequencial, Funcional, Subclasse) com a capacidade de implementação imediata (sem pré-compilação) e com mecanismo de depuração simples;
  • API adicionada tf.distribuir.Estratégia para organização aprendizagem distribuída modelos com alterações mínimas no código existente. Além da possibilidade de espalhar os cálculos entre múltiplas GPUs, está disponível suporte experimental para dividir o processo de aprendizagem em vários processadores independentes e a capacidade de usar a nuvem TPU (Unidade de processamento de tensores);
  • Em vez de um modelo declarativo de construção de um gráfico com execução através de tf.Session, é possível escrever funções comuns em Python, que, usando uma chamada para tf.function, podem ser convertidas em gráficos e então executadas, serializadas ou otimizadas remotamente para melhor desempenho;
  • Tradutor adicionado Autógrafo, que converte um fluxo de comandos Python em expressões do TensorFlow, permitindo que o código Python seja usado dentro das funções tf.function-decorated, tf.data, tf.distribute e tf.keras;
  • SavedModel unifica o formato de troca de modelos e adiciona suporte para salvar e restaurar estados de modelos. Os modelos compilados para o TensorFlow agora podem ser usados ​​em TensorFlow Lite (em dispositivos móveis), TensorFlowJS (no navegador ou Node.js), Serviço TensorFlow и Hub do TensorFlow;
  • As APIs tf.train.Optimizers e tf.keras.Optimizers foram unificadas; em vez de compute_gradients, uma nova classe foi proposta para calcular gradientes Fita Gradiente;
  • Desempenho significativamente aumentado ao usar GPU.
    A velocidade de treinamento de modelos em sistemas com GPUs NVIDIA Volta e Turing aumentou até três vezes;

  • Realizado Limpeza importante da API, muitas chamadas renomeadas ou removidas, suporte para variáveis ​​globais em métodos auxiliares interrompido. Em vez de tf.app, tf.flags, tf.logging, uma nova API absl-py é proposta. Para continuar usando a API antiga, o módulo compat.v1 foi preparado.

Fonte: opennet.ru

Adicionar um comentário