Operações básicas

Introdução ao TensorFlow em Python

Isaiah Hull

Visiting Associate Professor of Finance, BI Norwegian Business School

O que é uma operação do TensorFlow?

A imagem mostra operações e tensores em um grafo do TensorFlow, como visto no TensorBoard. Dois pares de matrizes são combinados com a operação add. As somas resultantes são então multiplicadas.

Introdução ao TensorFlow em Python

O que é uma operação do TensorFlow?

A imagem mostra operações e tensores em um grafo do TensorFlow, como visto no TensorBoard. Uma operação add é mostrada.

Introdução ao TensorFlow em Python

O que é uma operação do TensorFlow?

A imagem mostra operações e tensores em um grafo do TensorFlow, como visto no TensorBoard. Duas operações add são mostradas.

Introdução ao TensorFlow em Python

O que é uma operação do TensorFlow?

A imagem mostra operações e tensores em um grafo do TensorFlow, como visto no TensorBoard. Dois pares de matrizes são combinados com a operação add. As somas resultantes são então multiplicadas.

Introdução ao TensorFlow em Python

Aplicando o operador de adição

#Import constant and add from tensorflow
from tensorflow import constant, add

# Define 0-dimensional tensors
A0 = constant([1])
B0 = constant([2])
# Define 1-dimensional tensors
A1 = constant([1, 2])
B1 = constant([3, 4])
# Define 2-dimensional tensors
A2 = constant([[1, 2], [3, 4]])
B2 = constant([[5, 6], [7, 8]])
Introdução ao TensorFlow em Python

Aplicando o operador de adição

# Perform tensor addition with add()
C0 = add(A0, B0)
C1 = add(A1, B1)
C2 = add(A2, B2)
Introdução ao TensorFlow em Python

Realizando adição de tensores

  • A operação add() faz adição elemento a elemento com dois tensores

  • A adição elemento a elemento exige tensores com o mesmo shape:

    • Adição escalar: $1+2=3$
    • Adição de vetores: $[1,2]+[3,4]=[4,6]$
    • Adição de matrizes: $\begin{bmatrix} 1 & 2 \\ 3 & 4 \end{bmatrix} + \begin{bmatrix} 5 & 6 \\ 7 & 8 \end{bmatrix} = \begin{bmatrix} 6 & 8 \\ 10 & 12 \end{bmatrix}$
  • O operador add() é sobrecarregado

Introdução ao TensorFlow em Python

Como realizar multiplicação no TensorFlow

  • Multiplicação elemento a elemento com a operação multiply()

    • Os tensores devem ter o mesmo shape
    • Ex.: [1,2,3] e [3,4,5] ou [1,2] e [3,4]
  • Multiplicação de matrizes com o operador matmul()

    • matmul(A,B) multiplica A por B
    • O número de colunas de A deve igualar o de linhas de B
Introdução ao TensorFlow em Python

Aplicando os operadores de multiplicação

# Import operators from tensorflow
from tensorflow import ones, matmul, multiply

# Define tensors
A0 = ones(1)
A31 = ones([3, 1])
A34 = ones([3, 4])
A43 = ones([4, 3])

  • Quais operações são válidas?
    • multiply(A0, A0), multiply(A31, A31) e multiply(A34, A34)
    • matmul(A43, A34), mas não matmul(A43, A43)
Introdução ao TensorFlow em Python

Somando nas dimensões do tensor

  • O operador reduce_sum() soma ao longo das dimensões de um tensor
    • reduce_sum(A) soma em todas as dimensões de A
    • reduce_sum(A, i) soma na dimensão i
# Import operations from tensorflow
from tensorflow import ones, reduce_sum

# Define a 2x3x4 tensor of ones
A = ones([2, 3, 4])
Introdução ao TensorFlow em Python

Somando nas dimensões do tensor

# Sum over all dimensions
B = reduce_sum(A)

# Sum over dimensions 0, 1, and 2
B0 = reduce_sum(A, 0)
B1 = reduce_sum(A, 1)
B2 = reduce_sum(A, 2)
Introdução ao TensorFlow em Python

Vamos praticar!

Introdução ao TensorFlow em Python

Preparing Video For Download...