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 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?
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.
Newsletter
Se inscreva na nossa Newsletter para receber as principais novidades da ByLearn