Internet das Coisas

O que é o TensorFlow? A biblioteca de machine learning explicada

TensorFlow
Escrito por HD Store

O TensorFlow é uma biblioteca de código aberto compatível com Python para computação numérica que torna o machine learning mais rápido e fácil.

O machine learning é uma disciplina complexa. Mas a implementação de modelos de machine learning é muito menos assustadora e difícil do que costumava ser, graças aos frameworks de machine learning – como o TensorFlow do Google – que facilitam o processo de aquisição de dados, modelos de treinamento, previsões e refinamento de resultados futuros.

Criado pela equipe do Google Brain, o TensorFlow é uma biblioteca de código aberto para computação numérica e machine learning em larga escala. O TensorFlow reúne uma série de modelos e algoritmos de machine learning e aprendizagem profunda (também conhecido como redes neurais) e os torna úteis por meio de uma metáfora comum. Ele usa o Python para fornecer uma API de front-end (o que aparece na tela) conveniente para criar aplicativos com a estrutura, enquanto executa esses aplicativos em C ++ de alto desempenho.

O TensorFlow pode treinar e executar redes neurais profundas para classificação manuscrita de dígitos, reconhecimento de imagens, incorporação de palavras, redes neurais recorrentes, modelos seqüência a sequência para tradução automática, processamento de linguagem natural e simulações baseadas em equações diferenciais parciais. O melhor de tudo, o TensorFlow suporta previsão de produção em escala, com os mesmos modelos usados para treinamento.

Como funciona o TensorFlow

O TensorFlow permite que os desenvolvedores criem gráficos de fluxo de dados – estruturas que descrevem como os dados se movem em um gráfico ou uma série de nós de processamento. Cada nó no gráfico representa uma operação matemática e cada conexão ou borda entre os nós é uma matriz de dados ou um tensor multidimensional.

O TensorFlow fornece tudo isso para o programador por meio da linguagem Python. O Python é fácil de aprender e trabalhar e fornece maneiras convenientes de expressar como as abstrações de alto nível podem ser acopladas. Nós e tensores em TensorFlow são objetos Python, e os aplicativos TensorFlow são aplicativos em Python.

As operações matemáticas reais, no entanto, não são executadas no Python. As bibliotecas de transformações que estão disponíveis através do TensorFlow são escritas como binários C ++ de alto desempenho. O Python apenas direciona o tráfego entre as partes e fornece abstrações de programação de alto nível para conectá-las.

Os aplicativos TensorFlow podem ser executados na maioria dos destinos convenientes: uma máquina local, um cluster na nuvem, dispositivos iOS e Android, CPUs ou GPUs. Se você usa a própria nuvem do Google, é possível executar o TensorFlow no silício personalizado da unidade de processamento TensorFlow (TPU) do Google para acelerar ainda mais. Os modelos resultantes criados pelo TensorFlow, no entanto, podem ser implantados na maioria dos dispositivos em que serão usados ​​para exibir previsões.

Benefícios do TensorFlow

O maior benefício que o TensorFlow oferece para o desenvolvimento de machine learning é a abstração. Em vez de lidar com os detalhes básicos da implementação de algoritmos, ou de descobrir formas adequadas de ligar a saída de uma função à entrada de outra, o desenvolvedor pode se concentrar na lógica geral da aplicação. TensorFlow cuida dos detalhes nos bastidores.

O TensorFlow oferece conveniências adicionais para desenvolvedores que precisam depurar e obter introspecção em aplicativos do TensorFlow. O modo de execução ávido permite avaliar e modificar cada operação de gráfico separadamente e de forma transparente, em vez de construir o gráfico inteiro como um único objeto opaco e avaliar tudo de uma vez. A suíte de visualização TensorBoard permite inspecionar e criar o perfil da forma como os gráficos são executados por meio de um painel interativo baseado na Web.

E, é claro, o TensorFlow ganha muitas vantagens com o apoio de uma peça comercial de primeira linha no Google. O Google não apenas impulsionou o rápido ritmo de desenvolvimento por trás do projeto, mas criou muitas ofertas significativas em torno do TensorFlow que facilitam a implantação e o uso mais fácil: o silício de TPU mencionado acima para um desempenho acelerado na nuvem do Google; um hub online para compartilhar modelos criados com o framework; encarnações no navegador e compatíveis com dispositivos móveis do framework; e muito mais.

TensorFlow vs. a concorrência

O TensorFlow concorre com uma enorme quantidade de outras estruturas de machine learning. PyTorch, CNTK e MXNet são três estruturas principais que atendem a muitas das mesmas necessidades. Abaixo, observei onde eles se destacam e acabam sendo contra o TensorFlow.

  • O PyTorch, além de ser construído com o Python, tem muitas outras semelhanças com o TensorFlow: componentes acelerados por hardware, um modelo de desenvolvimento altamente interativo que permite trabalhos de design e vários componentes úteis já incluídos. O PyTorch é geralmente uma opção melhor para o rápido desenvolvimento de projetos que precisam estar prontos e funcionando em um curto espaço de tempo, mas o TensorFlow ganha projetos maiores e fluxos de trabalho mais complexos.
  • CNTK, o Microsoft Cognitive Toolkit, como o TensorFlow, usa uma estrutura de gráfico para descrever o fluxo de dados, mas se concentra mais na criação de redes neurais de aprendizagem profunda. CNTK lida com muitos trabalhos de redes neurais mais rapidamente, e tem um conjunto mais amplo de APIs (Python, C ++, C #, Java). No entanto, o CNTK não é tão fácil de aprender nem de implantar como o TensorFlow.
  • O Apache MXNet, adotado pela Amazon como a principal estrutura de aprendizagem profunda na AWS, pode ser dimensionado quase linearmente em várias GPUs e várias máquinas. Ele também oferece suporte a uma ampla variedade de APIs de idioma – Python, C ++, Scala, R, JavaScript, Julia, Perl e Go -, embora suas APIs nativas não sejam tão agradáveis ​​de se trabalhar quanto as do TensorFlow.

Fontes: texto traduzido de “What is TensorFlow? The machine learning library explained” do InfoWorld.

Sobre o autor

HD Store

Deixar comentário.

Share This