Criação de Tensores e Operações Básicas

Neste capítulo, vamos explorar a criação de tensores e as operações básicas que podem ser realizadas com eles no TensorFlow. Os tensores são a estrutura de dados fundamental no TensorFlow, e entender como manipulá-los é essencial para construir modelos de aprendizado de máquina.

O que é um Tensor?

Um tensor é uma generalização de matrizes para dimensões superiores. Em termos simples, um tensor é uma matriz multidimensional. No TensorFlow, os tensores são usados para representar dados em várias dimensões.

Criação de Tensores

Tensores Escalares

Um tensor escalar é um tensor de zero dimensões. Ele representa um único valor.

import tensorflow as tf

# Criando um tensor escalar
escalar = tf.constant(3.0)

Tensores Vetoriais

Um tensor vetorial é um tensor de uma dimensão. Ele representa uma lista de valores.

# Criando um tensor vetorial
vetor = tf.constant([1.0, 2.0, 3.0])

Tensores Matriciais

Um tensor matricial é um tensor de duas dimensões. Ele representa uma matriz.

# Criando um tensor matricial
matriz = tf.constant([[1.0, 2.0], [3.0, 4.0]])

Tensores de Dimensões Superiores

Tensores podem ter mais de duas dimensões, representando dados em espaços de dimensão superior.

# Criando um tensor de três dimensões
tensor_3d = tf.constant([[[1.0, 2.0], [3.0, 4.0]], [[5.0, 6.0], [7.0, 8.0]]])

Operações Básicas com Tensores

Adição de Tensores

A adição de tensores é realizada elemento a elemento.

# Adição de tensores
a = tf.constant([1, 2, 3])
b = tf.constant([4, 5, 6])
resultado_adicao = tf.add(a, b)

Multiplicação de Tensores

A multiplicação de tensores também é realizada elemento a elemento.

# Multiplicação de tensores
resultado_multiplicacao = tf.multiply(a, b)

Produto Escalar

O produto escalar de dois vetores é uma operação comum em álgebra linear.

# Produto escalar
produto_escalar = tf.tensordot(a, b, axes=1)

Diagrama de Operações com Tensores

Aqui está um diagrama que ilustra as operações básicas com tensores:

graph TD;
    A["Tensor A: $$\;\begin{bmatrix} 1 & 2 & 3 \end{bmatrix}$$"]
    B["Tensor B: $$\;\begin{bmatrix} 4 & 5 & 6 \end{bmatrix}$$"]
    C["Adição: $$\;A + B = \begin{bmatrix} 5 & 7 & 9 \end{bmatrix}$$"]
    D["Multiplicação: $$\;A \cdot B = \begin{bmatrix} 4 & 10 & 18 \end{bmatrix}$$"]
    E["Produto Escalar: $$\;A \cdot B = 32$$"]

    A --> C
    B --> C
    A --> D
    B --> D
    A --> E
    B --> E

Conclusão

Neste capítulo, exploramos a criação de tensores e algumas operações básicas que podem ser realizadas com eles no TensorFlow. Compreender essas operações é fundamental para manipular dados e construir modelos de aprendizado de máquina eficazes. No próximo capítulo, vamos nos aprofundar na construção de redes neurais simples usando TensorFlow.