fbpx
Conheça as novidades do TensorFlow 2.0: mais performance e flexibilidade

Com toda a certeza, quando falamos em aprendizado de máquina e inteligência artificial, qualquer entusiasta da área vai citar o TensorFlow, a poderosa biblioteca open source da Google para computação numérica que usa gráficos computacionais para criar modelos e algoritmos para machine e deep learning.

Além disso, é multiplataforma! O TensorFlow pode ser usado no Windows, MacOS e Linux  e foi criado para ser escalável em uma máquina local, na nuvem, dispositivos iOS e Android, CPUs e GPUs. É possível ainda executá-lo na unidade de processamento TensorFlor (TPU) do Google e ter ainda mais performance e velocidade.

No começo do ano passado, o Google anunciou o lançamento do TensorFlow 2.0 com a promessa de melhorias significativas em performance e experiência de usuário.

Agora é possível realizar protótipos de maneira ainda mais rápida, além da inclusão de muitas práticas modernas de aprendizado profundo.

Em relação à flexibilidade, houve um aumento significativo das opções de implantação com o novo padrão de formato de arquivo, o SavedModel.

Aliás, outra novidade é a ampliação do suporte para GPUs e compatibilidade com loops de treinamento personalizados.

Neste texto, vamos focar nas principais mudanças da nova versão dessa poderosa biblioteca, vamos lá?

Entenda melhor o que mudou no TensorFlow 2.0

O TensorFlow 2.0 foi lançado com a promessa de mais simplificidade e rapidez no uso

O TensorFlow 2.0 chegou trazendo muitas novidades para permitir que seus usuários sejam ainda mais produtivos.

De maneira geral, ele se tornou mais simples e rápido: APIs redundantes foram removidas e ele está melhor integrado com a execução do Python.

Em seguida, confira uma lista com as mudanças mais importantes:

Eager Execution como padrão

Para construir uma rede neural no TF 1.x, era necessário definir um grafo TensorFlow. Este processo costumava ser bastante criticado pelos usuários por ser muito abstrato e possuir uma estrutura de dados em forma de caixa preta: era impossível ver o que havia dentro durante a execução.

A versão 1.7 já permitiu a ativação manual de uma Eager Execution, o que tornou a interface final muito mais intuitiva, com a simplificação do sistema de correção de erros e de especificação dos modelos dinâmicos. No entanto, o usuário ainda dependia de uma função para transformar o grafo da Eager Execution em um grafo que podia ser executado pelo TensorFlow.

No TensorFlow 2.0 a Eager Execution foi definida como padrão, sendo possível executar códigos como os códigos Python normais, com aparência e funcionamento da biblioteca Numpy. Agora, todas as variáveis estão visíveis com uma simples função print().

Construção de modelos mais fácil e intuitiva

Quem trabalha com machine learning e inteligência artificial, com certeza está familiarizado com o Keras. Conhecido por sua facilidade de uso e rápida prototipagem, o Keras é uma camada de alto nível para outros frameworks de deep learning, como o TensorFlow. Com ele, você pode construir redes de maneira intuitiva, passando inputs e outputs de uma função para outra.

O Keras foi incorporado ao TensorFlow 2.0 através do módulo tf.keras e, ao instalar o TF 2.0, você receberá automaticamente o Keras. Além dos métodos clássicos como fit, predict e compile, essa incorporação trouxe ao TF todas as APIs do Keras, como sequential, functional e subclassing – tudo isso sem a necessidade de nenhum código ponte. Com isso, ficou muito mais fácil e intuitivo construir modelos no TF.

Com essa mudança, você poderá usar o Keras com o Tensorflow. Quando for suficiente para o que você precisa, você pode usar um código 100% Keras. Se você precisa fazer alguma coisa mais complexa, como um treino esquemático novo, você pode simplesmente adicionar códigos TF.

Limpeza de APIs

Em sua versão anterior, o TF tinha uma grande quantidade de códigos duplicados, sobretudo no módulo contrib , que recebia constantes atualizações da comunidade de usuários. Por isso, não era incomum ter a mesma função em diversos lugares.

O TensorFlow 2.0 vez uma grande limpeza de APIs para simplificar e unificar seus códigos. Várias APIs, como tf.app, tf.flags e tf.logging, foram removidas e ou mudaram de lugar. Várias APIs foram totalmente substituídas por suas versões simplificadas do Keras.

Com isso, o uso da biblioteca tornou-se muito mais simples e fácil e a documentação agora é mais clara. Outra grande vantagem é que agora os códigos podem ser compartilhados mais facilmente entre usuários, já que todos estarão usando a mesma API. Além disso, foi criado um script para atualizações de códigos TF 1.x para o TF 2.0.

Fim das variáveis globais

Em suas versões anteriores, o TF dependia de namespaces globais. Para recuperar uma variável, era preciso saber o nome exato daquela variável, que continuaria ativa mesmo se você perdesse a referência Python que apontava para ela. Para resolver esse problema,  os usuários criaram uma série de mecanismos.

O TensorFlow 2.0 elimina todos esses mecanismos diversos e estabelece um padrão para rastreio de variáveis. Outra vantagem é que, caso você perca o rastro de uma variável, ela será apagada pelo garbage collector.

Retrocompatibilidade

Sempre que temos o lançamento de uma nova versão de um software muito popular, uma pergunta frequente é se ainda será possível usar versões anteriores ao executar a nova versão. Com o TensorFlow 2.0 a resposta é sim, o que garante uma transição sem grandes quebras.

Claro que, ao usar a versão 1.x, você não poderá se beneficiar de muitas das melhoras empreendidas pelo TensorFlow 2.0. Mas você será capaz de fazer uma transição suave, substituindo os códigos antigos quando necessário e utilizando-se das melhorias da nova versão.

E aqui temos uma vantagem extra: para simplificar a migração dos códigos, existe uma ferramenta de atualização.

Quer trabalhar o TensorFlow?

tensorflow 2.0

Como vimos aqui, Python para inteligência artificial vem se tornando cada vez mais popular e conta com excelentes frameworks. No entanto, IA é apenas uma das muitas aplicações do Python, a linguagem queridinha dos programadores e das grandes empresas.

Versátil, o Python pode ser aplicado em áreas tão diversas entre si quanto desenvolvimento de jogos, criptomoedas, análise de dados, computação gráfica e processos de automação.

Aprender Python é uma ótima escolha tanto para aquelas pessoas que buscam entrar no mundo da programação e procuram sua primeira linguagem, quanto para programadores mais experientes que desejam se reciclar e abrir novas portas de carreira.

Para aprender Python, nada melhor do que fazer um curso aqui na ByLern e contar com a melhor seleção de materiais e apoio pedagógico.

Com o nosso curso Python completo – de Júnior a Sênior você vai aprender tudo o que precisa saber sobre a linguagem, desde uma completa introdução, instalação e configuração até um módulo de tratamento de erros e exceções. Ao estudar conosco você também contará com atualizações constantes e um material didático reunido especialmente para você, com apostilas e livros oficiais.

Vem aprender com a gente e descobrir essa linguagem que, além de muito poderosa, é muito divertida e vai abrir muitas portas no seu futuro profissional em um mercado de trabalho cada vez mais promissor.

Para te dar um gostinho do estilo ByLearner de ensino, preparamos um e-book gratuito inteirinho para você. Com o nosso Boas Práticas com Python você vai elevar o nível do seu código, não deixe de baixar no link abaixo:

Boas Práticas com Python

Baixe gratuitamente nosso e-book completo no link abaixo

E você? Já trabalha com Inteligência Artificial? Conta tudo para gente nos comentários!

Nos siga em todas as redes sociais para trocarmos algumas ideias e não esqueça de assinar a nossa newsletter para não perder nenhuma novidade.

Tags: | |

Newsletter

Se inscreva na nossa Newsletter para receber as principais novidades da ByLearn

Não enviamos spam. Seu e-mail está 100% seguro!

Este site utiliza Cookies e Tecnologias semelhantes para melhorar a sua experiência. Ao utilizar nosso site você concorda que está de acordo com a nossa Política de Privacidade.