Operações avançadas

Introdução ao TensorFlow em Python

Isaiah Hull

Visiting Associate Professor of Finance, BI Norwegian Business School

Visão geral das operações avançadas

  • Já vimos operações básicas no TensorFlow
    • add(), multiply(), matmul() e reduce_sum()
  • Nesta lição, vamos ver operações avançadas
    • gradient(), reshape() e random()
Introdução ao TensorFlow em Python

Visão geral das operações avançadas

Operação Uso
gradient() Calcula a inclinação de uma função em um ponto
reshape() Redimensiona um tensor (ex.: 10x10 para 100x1)
random() Preenche o tensor com valores de uma distribuição de probabilidade
Introdução ao TensorFlow em Python

Encontrando o ótimo

  • Em muitos problemas, queremos achar o ótimo de uma função.

    • Mínimo: Menor valor da função de perda.
    • Máximo: Maior valor da função objetivo.
  • Podemos fazer isso com gradient().

    • Ótimo: Encontre um ponto onde o gradiente = 0.
    • Mínimo: Variação do gradiente > 0
    • Máximo: Variação do gradiente < 0
Introdução ao TensorFlow em Python

Calculando o gradiente

Este slide mostra um gráfico da função y igual a x.

Introdução ao TensorFlow em Python

Calculando o gradiente

Este slide mostra um gráfico da função y igual a x ao quadrado.

Introdução ao TensorFlow em Python

Gradientes no TensorFlow

# Import tensorflow under the alias tf
import tensorflow as tf

# Define x
x = tf.Variable(-1.0)
# Define y within instance of GradientTape
with tf.GradientTape() as tape:
    tape.watch(x)
    y = tf.multiply(x, x)
# Evaluate the gradient of y at x = -1
g = tape.gradient(y, x)
print(g.numpy())
-2.0
Introdução ao TensorFlow em Python

Imagens como tensores

O slide mostra como a imagem de dois gatos pode ser representada por um tensor 2D e remodelada em um vetor 1D.

Introdução ao TensorFlow em Python

Como usar reshape em imagem em tons de cinza

# Import tensorflow as alias tf
import tensorflow as tf

# Generate grayscale image
gray = tf.random.uniform([2, 2], maxval=255, dtype='int32')

# Reshape grayscale image
gray = tf.reshape(gray, [2*2, 1])

A imagem mostra uma imagem 2 por 2 em tons de cinza sendo remodelada para um vetor 4 por 1.

Introdução ao TensorFlow em Python

Como usar reshape em imagem colorida

# Import tensorflow as alias tf
import tensorflow as tf

# Generate color image
color = tf.random.uniform([2, 2, 3], maxval=255, dtype='int32')

# Reshape color image
color = tf.reshape(color, [2*2, 3])

A figura mostra uma imagem colorida 2 por 2 por 3 sendo remodelada para uma matriz 2 por 3.

Introdução ao TensorFlow em Python

Vamos praticar!

Introdução ao TensorFlow em Python

Preparing Video For Download...