Novembro 23, 2019

Curso de TensorFlow para iniciantes

O TensorFlow (TF) é um dos frameworks mais utilizados no mundo em aplicações de deep learning e computação numérica. Nesse curso abaixo, você vai aprender a utilizar o TensorFlow e compreender como funciona sua estrutura em 8 aulas super práticas.

Pré-requisitos para esse curso

É extremamente recomendável que, antes de iniciar esse curso, o aluno tenha conhecimentos em Python, sabendo utilizar módulos, pacotes e funções, principalmente tendo algum conhecimento sobre o pacote numpy. Temos dois cursos gratuitos que irão suprir essa carência caso você precise: Python para iniciantes e Python para machine learning e análise de dados.

Aula 1: O que é TensorFlow e como instalar

Objetivos: aprender o que é um framework, o que é TensorFlow e como instalar essa biblioteca de código em ambientes Windows, Linux e MAC. Obs: atualmente o TensorFlow está na versão 2.0, nesse curso utilizamos a versão 1.14, que é a mais popular até o momento:

Aula 2: Primeiros comandos no TensorFlow

Objetivos: aprender como imprimir na tela a frase “Olá, mundo!”, compreender o conceito de sessão tf.Session() e o conceito de rodar o código dentro de uma sessão tf.Session().run(). Nessa aula, ficará claro uma das maiores diferenças entre TensorFlow e Python:

Aula 3: Introdução a Grafos

Objetivos: entender o que é um grafo computacional e como criar grafos no TensorFlow.

Aula 4: O que são tensores

Objetivos: trabalhar um pouco mais com tensores compreendendo a diferença entre tensores e grafos na prática. Nessa aula, faremos uma comparação direta com os arrays do pacote Numpy para facilitar o entendimento.

Aula 5: Multiplicando matrizes no TensorFlow

Objetivos: revisar o conceito de multiplicação de matrizes e ver como é possível multiplicar matrizes com comandos simples no TF. Essa aula é muito importante para quem quer trabalhar com redes neurais, pois em treinamentos de deep learning, muitas multiplicações entre matrizes são feitas.

Aula 6: Variáveis no TensorFlow

Objetivos: aprender como criar variáveis no TensorFlow com o comando tf.Variable() e entender a importância de se inicializar as variáveis com o comando tf.global_variables_initializer()

Aula 7: O que são placeholders e como usar

Objetivos: compreender o que são placeholders e como utilizar na prática. Essa aula é muito importante no mundo das redes neurais e do deep learning, e é um dos tópicos mais difíceis do iniciante dominar. Por isso, recomendamos que preste bastante atenção nos detalhes e assista essa aula mais de uma vez se necessário:

Estamos disponibilizando abaixo o código completo utilizado nessa aula:

import tensorflow as tf
import numpy as np

dados_x = np.random.randn(4,8)   # cria matriz de 4 linhas e 8 colunas com números aleatórios
dados_w = np.random.randn(8,2)   # cria matriz de 8 linhas e 2 colunas com números aleatórios

b = tf.random_normal((4,2),0,1)   # cria matriz (tensor) de 4 linhas e 2 colunas com números aleatórios

x = tf.placeholder(tf.float32, shape=(4, 8))
w = tf.placeholder(tf.float32, shape=(8, 2))
operacao = tf.matmul(x, w) + b

maximo = tf.reduce_max(operacao) # encontra o maior valor da matriz operacao

with tf.Session() as sess:
        saida1 = sess.run(operacao, feed_dict={x: dados_x, w: dados_w})
        saida2 = sess.run(maximo, feed_dict={x: dados_x, w: dados_w}) 

print(saida2)

import numpy as np

x1 = np.random.randn(4,8)  
w1 = np.random.randn(8,2)  

x2 = np.random.randn(4,8)  
w2 = np.random.randn(8,2)

x3 = np.random.randn(10,3)  
w3 = np.random.randn(3,1)

x4 = np.random.randn(4,8)  
w4 = np.random.randn(8,2)

x5 = np.random.randn(4,8)  
w5 = np.random.randn(8,2)

lista_x = [x1, x2, x3, x4, x5]
lista_w = [w1, w2, w3, w4, w5]
lista_saida = []

b = tf.random_normal((4,2),0,1)   # cria matriz (tensor) de 4 linhas e 2 colunas com números aleatórios

x = tf.placeholder(tf.float32, shape=(None, None))
w = tf.placeholder(tf.float32, shape=(None, None))
operacao = tf.matmul(x, w)

maximo = tf.reduce_max(operacao) # encontra o maior valor da matriz operacao

with tf.Session() as sess:
    for i in range(5):
        saida = sess.run(maximo, feed_dict={x: lista_x[i], w: lista_w[i]})
        lista_saida.append(saida)
print(lista_saida)

Aula 8: Introdução ao TensorBoard

Objetivos: aprender a utilizar uma excelente ferramenta gráfica para visualizar os resultados de sessões construídas no TensorFlow. Você vai aprender nessa aula a abrir seu LocalHost por meio do prompt de comando para usufruir do TensorBoard, passo-a-passo com bastante didática.

Para mais informações sobre a documentação oficial, acesse o site tensorflow.org.

Se você gostou desse curso, confira também nossa lista completa de cursos de machine learning.