Vamos falar do Tensorflow

Atualmente ouço muita gente falar das mágicas da Google e do Deep Learning, e o quão legal é o Tensorflow.
Mas o que eu vejo é que muita gente ainda não entende muito bem o que realmente é o Tensorflow, e como se usa ele, e o porquê ele tá tendo tanta atenção.

Primeiro vamos a alguns conceitos básicos, para entender o porquê do Tensorflow ter se tornado tão popular.

O Tensorflow trabalho com o conceito de fluxo de tensores em um gráfo.

O que é um tensor ?

Um tensor pode ser visto, para os leigos em matemática, como uma estrutura de dados que pode assumir N dimensões.

E para o Tensorflow, o que é um gráfo, e o que é um fluxo de tensores no gráfo?

Como a Figura mostra, para o Tensorflow, um grafo é um conjunto de operações, que fica organizada no formato de um grafo. Para esse caso, há a operação Add em que duas constantes deveram gerar um resultado de soma.

Como isso pode ser traduzido no meu código ?

a = tf.constant(3.0, dtype=tf.float32)
b = tf.constant(4.0) # also tf.float32 implicitly
soma = tf.add(a, b, name="add")

Pronto, tendo definido o grafo, devemos rodar ele dentro de uma seção do Tensorflow.

sess = tf.Session()
print(sess.run(soma))

Bom, isso parece intuitivo, mas esse grafo não parece muito útil não é mesmo?

O maior ganho de usar grafos computacionais, é que podemos arquitetar diversas operações que serão realizadas no grafo. Incluindo tensores, constantes, somas, divisões, e outras operações mais complexas.

Aqui vemos um grafo computacional completo, com várias operações. O mais interessante é que a equipe do Tensorflow disponibiliza o Tensorboard, que permite a visualização de diversas coisas referentes ao nosso grafo.

Agora entendendo um pouco o que são grafos, e tensores, temos uma breve noção de como funciona o Tensorflow.

Mas o que é feito com ele, e onde ele é utilizado ?

Na área de Machine Learning, e Deep Learning ele é utilizado basicamente para a construção de modelos de Redes Neurais. Conforme podemos perceber na Figura, elas se assemelham à um grafo computacional, onde nodos (layers) realizam operações matemáticas com arestas (tensores).

Além disso nas versões mais recentes o Tensorflow oferece um suite de APIs de alto nível, que facilita a construção de modelos de redes neurais. E também disponibiliza um repositório de modelos com diversos tipos de algoritmos, e modelos que são utilizados em todos os tipos de tarefas.

Outra novidade do Tensorflow é sua versão para Javascript, que permite rodar, e até mesmo treinar os modelos direto no Browser! E sua versão Lite, que permite rodar os modelos tanto no Android, quanto no iOS.

Finalizando

O Tensorflow é um framework cada vez mais completo, que permite criar grafos, e modelos de Machine Learning e Deep Learning, tanto com APIs de alto, e baixo nível. E agora também permite rodar os modelos criados em qualquer lugar, no browser, no servidor, e no smart-phone.

Fonte: Rodney Nogueira -MEDIUM

Fonte Imagem: TechTudo

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s