Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Criando Tensores | Tensores
Introdução ao TensorFlow

bookCriando Tensores

Criando Tensores

Esta lição aborda a criação de tensores utilizando o TensorFlow. O TensorFlow oferece diversos métodos para inicializar tensores. Ao final desta lição, você estará apto a gerar tensores para uma ampla variedade de aplicações.

Inicializadores Básicos de Tensor

  • tf.constant(): esta é a forma mais simples de criar um tensor. Como o nome sugere, tensores inicializados com este método possuem valores constantes e são imutáveis;
12345
import tensorflow as tf # Create a 2x2 constant tensor tensor_const = tf.constant([[1, 2], [3, 4]]) print(tensor_const)
copy
  • tf.Variable(): ao contrário de tf.constant(), um tensor definido usando tf.Variable() é mutável. Isso significa que seu valor pode ser alterado, tornando-o ideal para parâmetros treináveis em modelos;
12345
import tensorflow as tf # Create a variable tensor tensor_var = tf.Variable([[1, 2], [3, 4]]) print(tensor_var)
copy
  • tf.zeros(): cria um tensor preenchido com zeros;
12345
import tensorflow as tf # Zero tensor of shape (3, 3) tensor_zeros = tf.zeros((3, 3)) print(tensor_zeros)
copy
  • tf.ones(): por outro lado, cria um tensor preenchido com uns;
12345
import tensorflow as tf # Ones tensor of shape (2, 2) tensor_ones = tf.ones((2, 2)) print(tensor_ones)
copy
  • tf.fill(): cria um tensor preenchido com um valor específico;
12345
import tensorflow as tf # Tensor of shape (2, 2) filled with 6 tensor_fill = tf.fill((2, 2), 6) print(tensor_fill)
copy
  • tf.linspace() e tf.range(): excelentes para criar sequências;
123456789
import tensorflow as tf # Generate a sequence of numbers starting from 0, ending at 9 tensor_range = tf.range(10) print(tensor_range) # Create 5 equally spaced values between 0 and 10 tensor_linspace = tf.linspace(0, 10, 5) print(tensor_linspace)
copy
  • tf.random: gera tensores com valores aleatórios. Diversas distribuições e funções estão disponíveis neste módulo, como tf.random.normal() para valores de uma distribuição normal e tf.random.uniform() para valores de uma distribuição uniforme.
Note
Nota

Também é possível definir uma semente fixa para obter resultados consistentes em cada geração de número aleatório utilizando tf.random.set_seed(). No entanto, ao fazer isso, você receberá o mesmo número para qualquer geração aleatória dentro do TensorFlow.

Se desejar obter números consistentes apenas para um comando específico, é possível fornecer um argumento seed para esse comando com o valor de semente desejado.

1234567891011121314
import tensorflow as tf # Set random seed tf.random.set_seed(72) # Tensor of shape (2, 2) with random values normally distributed # (by default `mean=0` and `std=1`) tensor_random = tf.random.normal((2, 2), mean=4, stddev=0.5) print(tensor_random) # Tensor of shape (2, 2) with random values uniformly distributed # (by default `min=0` and `max=1`) tensor_random = tf.random.uniform((2, 2), minval=-2, maxval=2) print(tensor_random)
copy

Conversão Entre Estruturas de Dados

Tensores do TensorFlow podem ser convertidos facilmente para e a partir de estruturas de dados familiares do Python.

  • A partir de Arrays Numpy: Tensores do TensorFlow e arrays Numpy são bastante interoperáveis. Utilize tf.convert_to_tensor();
12345678910
import numpy as np import tensorflow as tf # Create a NumPy array based on a Python list numpy_array = np.array([[1, 2], [3, 4]]) # Convert a NumPy array to a tensor tensor_from_np = tf.convert_to_tensor(numpy_array) print(tensor_from_np)
copy
  • A partir de DataFrames do Pandas: para quem utiliza análise de dados com Pandas, converter um DataFrame ou uma Series em um tensor do TensorFlow é simples. Utilize também tf.convert_to_tensor();
12345678910
import pandas as pd import tensorflow as tf # Create a DataFrame based on dictionary df = pd.DataFrame({'A': [1, 2], 'B': [3, 4]}) # Convert a DataFrame to a tensor tensor_from_df = tf.convert_to_tensor(df.values) print(tensor_from_df)
copy
Note
Nota

Sempre garanta que os tipos de dados das estruturas originais (arrays Numpy ou DataFrames do Pandas) sejam compatíveis com os tipos de dados dos tensores do TensorFlow. Em caso de incompatibilidade, considere realizar o casting de tipo.

  • Convertendo um tensor constante em uma Variable: é possível inicializar uma Variable utilizando diversos métodos de criação de tensores, como tf.ones(), tf.linspace(), tf.random, entre outros. Basta passar a função ou o tensor já existente para tf.Variable().
12345678910111213
import tensorflow as tf # Create a variable from a tensor tensor = tf.random.normal((2, 3)) variable_1 = tf.Variable(tensor) # Create a variable based on other generator variable_2 = tf.Variable(tf.zeros((2, 2))) # Display tensors print(variable_1) print('-' * 50) print(variable_2)
copy

Para aprimorar a criação de tensores, recomenda-se praticar com diferentes formas e valores. Para mais detalhes sobre comandos específicos, consulte a documentação do TensorFlow. Nela estão disponíveis todas as informações necessárias sobre qualquer comando ou módulo da biblioteca.

Tarefa

Swipe to start coding

Sua tarefa é criar, modificar e converter diversos tensores neste desafio.

Parte 1 — Inicialização de Tensores

  1. Criar um tensor chamado tensor_A com forma (3, 3) e todos os elementos iguais a 5.
  2. Criar um tensor mutável chamado tensor_B com forma (2, 3) e quaisquer valores de sua escolha.
  3. Criar um tensor chamado tensor_C com forma (3, 3) preenchido com zeros.
  4. Criar um tensor chamado tensor_D com forma (4, 4) preenchido com uns.
  5. Criar um tensor chamado tensor_E com 5 valores linearmente espaçados entre 3 e 15.
  6. Criar um tensor chamado tensor_F com valores aleatórios e forma (2, 2).

Parte 2 — Conversões

  1. Converter o array NumPy np_array em um tensor TensorFlow chamado tensor_from_array.
  2. Converter o DataFrame df em um tensor TensorFlow chamado tensor_from_dataframe.

Observação

  • Utilize as funções mais apropriadas do TensorFlow (por exemplo, tf.ones(), tf.zeros(), tf.fill(), etc.).
  • Para conversões, utilize tf.convert_to_tensor().
  • Para tensores linearmente espaçados, utilize tf.linspace(start, stop, num).
  • Para tensores aleatórios, utilize tf.random.normal(shape).

Solução

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 1. Capítulo 6
single

single

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

close

Awesome!

Completion rate improved to 5.56

bookCriando Tensores

Deslize para mostrar o menu

Criando Tensores

Esta lição aborda a criação de tensores utilizando o TensorFlow. O TensorFlow oferece diversos métodos para inicializar tensores. Ao final desta lição, você estará apto a gerar tensores para uma ampla variedade de aplicações.

Inicializadores Básicos de Tensor

  • tf.constant(): esta é a forma mais simples de criar um tensor. Como o nome sugere, tensores inicializados com este método possuem valores constantes e são imutáveis;
12345
import tensorflow as tf # Create a 2x2 constant tensor tensor_const = tf.constant([[1, 2], [3, 4]]) print(tensor_const)
copy
  • tf.Variable(): ao contrário de tf.constant(), um tensor definido usando tf.Variable() é mutável. Isso significa que seu valor pode ser alterado, tornando-o ideal para parâmetros treináveis em modelos;
12345
import tensorflow as tf # Create a variable tensor tensor_var = tf.Variable([[1, 2], [3, 4]]) print(tensor_var)
copy
  • tf.zeros(): cria um tensor preenchido com zeros;
12345
import tensorflow as tf # Zero tensor of shape (3, 3) tensor_zeros = tf.zeros((3, 3)) print(tensor_zeros)
copy
  • tf.ones(): por outro lado, cria um tensor preenchido com uns;
12345
import tensorflow as tf # Ones tensor of shape (2, 2) tensor_ones = tf.ones((2, 2)) print(tensor_ones)
copy
  • tf.fill(): cria um tensor preenchido com um valor específico;
12345
import tensorflow as tf # Tensor of shape (2, 2) filled with 6 tensor_fill = tf.fill((2, 2), 6) print(tensor_fill)
copy
  • tf.linspace() e tf.range(): excelentes para criar sequências;
123456789
import tensorflow as tf # Generate a sequence of numbers starting from 0, ending at 9 tensor_range = tf.range(10) print(tensor_range) # Create 5 equally spaced values between 0 and 10 tensor_linspace = tf.linspace(0, 10, 5) print(tensor_linspace)
copy
  • tf.random: gera tensores com valores aleatórios. Diversas distribuições e funções estão disponíveis neste módulo, como tf.random.normal() para valores de uma distribuição normal e tf.random.uniform() para valores de uma distribuição uniforme.
Note
Nota

Também é possível definir uma semente fixa para obter resultados consistentes em cada geração de número aleatório utilizando tf.random.set_seed(). No entanto, ao fazer isso, você receberá o mesmo número para qualquer geração aleatória dentro do TensorFlow.

Se desejar obter números consistentes apenas para um comando específico, é possível fornecer um argumento seed para esse comando com o valor de semente desejado.

1234567891011121314
import tensorflow as tf # Set random seed tf.random.set_seed(72) # Tensor of shape (2, 2) with random values normally distributed # (by default `mean=0` and `std=1`) tensor_random = tf.random.normal((2, 2), mean=4, stddev=0.5) print(tensor_random) # Tensor of shape (2, 2) with random values uniformly distributed # (by default `min=0` and `max=1`) tensor_random = tf.random.uniform((2, 2), minval=-2, maxval=2) print(tensor_random)
copy

Conversão Entre Estruturas de Dados

Tensores do TensorFlow podem ser convertidos facilmente para e a partir de estruturas de dados familiares do Python.

  • A partir de Arrays Numpy: Tensores do TensorFlow e arrays Numpy são bastante interoperáveis. Utilize tf.convert_to_tensor();
12345678910
import numpy as np import tensorflow as tf # Create a NumPy array based on a Python list numpy_array = np.array([[1, 2], [3, 4]]) # Convert a NumPy array to a tensor tensor_from_np = tf.convert_to_tensor(numpy_array) print(tensor_from_np)
copy
  • A partir de DataFrames do Pandas: para quem utiliza análise de dados com Pandas, converter um DataFrame ou uma Series em um tensor do TensorFlow é simples. Utilize também tf.convert_to_tensor();
12345678910
import pandas as pd import tensorflow as tf # Create a DataFrame based on dictionary df = pd.DataFrame({'A': [1, 2], 'B': [3, 4]}) # Convert a DataFrame to a tensor tensor_from_df = tf.convert_to_tensor(df.values) print(tensor_from_df)
copy
Note
Nota

Sempre garanta que os tipos de dados das estruturas originais (arrays Numpy ou DataFrames do Pandas) sejam compatíveis com os tipos de dados dos tensores do TensorFlow. Em caso de incompatibilidade, considere realizar o casting de tipo.

  • Convertendo um tensor constante em uma Variable: é possível inicializar uma Variable utilizando diversos métodos de criação de tensores, como tf.ones(), tf.linspace(), tf.random, entre outros. Basta passar a função ou o tensor já existente para tf.Variable().
12345678910111213
import tensorflow as tf # Create a variable from a tensor tensor = tf.random.normal((2, 3)) variable_1 = tf.Variable(tensor) # Create a variable based on other generator variable_2 = tf.Variable(tf.zeros((2, 2))) # Display tensors print(variable_1) print('-' * 50) print(variable_2)
copy

Para aprimorar a criação de tensores, recomenda-se praticar com diferentes formas e valores. Para mais detalhes sobre comandos específicos, consulte a documentação do TensorFlow. Nela estão disponíveis todas as informações necessárias sobre qualquer comando ou módulo da biblioteca.

Tarefa

Swipe to start coding

Sua tarefa é criar, modificar e converter diversos tensores neste desafio.

Parte 1 — Inicialização de Tensores

  1. Criar um tensor chamado tensor_A com forma (3, 3) e todos os elementos iguais a 5.
  2. Criar um tensor mutável chamado tensor_B com forma (2, 3) e quaisquer valores de sua escolha.
  3. Criar um tensor chamado tensor_C com forma (3, 3) preenchido com zeros.
  4. Criar um tensor chamado tensor_D com forma (4, 4) preenchido com uns.
  5. Criar um tensor chamado tensor_E com 5 valores linearmente espaçados entre 3 e 15.
  6. Criar um tensor chamado tensor_F com valores aleatórios e forma (2, 2).

Parte 2 — Conversões

  1. Converter o array NumPy np_array em um tensor TensorFlow chamado tensor_from_array.
  2. Converter o DataFrame df em um tensor TensorFlow chamado tensor_from_dataframe.

Observação

  • Utilize as funções mais apropriadas do TensorFlow (por exemplo, tf.ones(), tf.zeros(), tf.fill(), etc.).
  • Para conversões, utilize tf.convert_to_tensor().
  • Para tensores linearmente espaçados, utilize tf.linspace(start, stop, num).
  • Para tensores aleatórios, utilize tf.random.normal(shape).

Solução

Switch to desktopMude para o desktop para praticar no mundo realContinue de onde você está usando uma das opções abaixo
Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 1. Capítulo 6
single

single

some-alt