Criando 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;
12345import tensorflow as tf # Create a 2x2 constant tensor tensor_const = tf.constant([[1, 2], [3, 4]]) print(tensor_const)
tf.Variable(): ao contrário detf.constant(), um tensor definido usandotf.Variable()é mutável. Isso significa que seu valor pode ser alterado, tornando-o ideal para parâmetros treináveis em modelos;
12345import tensorflow as tf # Create a variable tensor tensor_var = tf.Variable([[1, 2], [3, 4]]) print(tensor_var)
tf.zeros(): cria um tensor preenchido com zeros;
12345import tensorflow as tf # Zero tensor of shape (3, 3) tensor_zeros = tf.zeros((3, 3)) print(tensor_zeros)
tf.ones(): por outro lado, cria um tensor preenchido com uns;
12345import tensorflow as tf # Ones tensor of shape (2, 2) tensor_ones = tf.ones((2, 2)) print(tensor_ones)
tf.fill(): cria um tensor preenchido com um valor específico;
12345import tensorflow as tf # Tensor of shape (2, 2) filled with 6 tensor_fill = tf.fill((2, 2), 6) print(tensor_fill)
tf.linspace()etf.range(): ótimos para criar sequências;
123456789import 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)
tf.random: gera tensores com valores aleatórios. Diversas distribuições e funções estão disponíveis neste módulo, comotf.random.normal()para valores de uma distribuição normal etf.random.uniform()para valores de uma distribuição uniforme.
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.
1234567891011121314import 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)
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();
12345678910import 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)
- A partir de DataFrames do Pandas: para quem utiliza análise de dados com Pandas, converter um DataFrame ou uma Series para um tensor do TensorFlow é simples. Utilize também
tf.convert_to_tensor();
12345678910import 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)
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. Caso haja incompatibilidade, considere realizar o casting de tipo.
- Convertendo um tensor constante em uma
Variable: é possível inicializar umaVariableutilizando diversos métodos de criação de tensores, comotf.ones(),tf.linspace(),tf.random, entre outros. Basta passar a função ou o tensor já existente paratf.Variable().
12345678910111213import 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)
Para aprimorar a criação de tensores, recomenda-se praticar com diferentes formatos e valores. Para mais detalhes sobre comandos específicos, consulte a documentação do TensorFlow. Lá estão disponíveis todas as informações necessárias sobre qualquer comando ou módulo da biblioteca.
Swipe to start coding
Sua tarefa é criar, modificar e converter diversos tensores utilizando o TensorFlow.
Parte 1 — Inicialização de Tensores
- Crie um tensor chamado
tensor_Acom forma(3, 3)e todos os elementos iguais a 5. - Crie um tensor mutável chamado
tensor_Bcom forma(2, 3)e quaisquer valores de sua escolha. - Crie um tensor chamado
tensor_Ccom forma(3, 3)preenchido com zeros. - Crie um tensor chamado
tensor_Dcom forma(4, 4)preenchido com uns. - Crie um tensor chamado
tensor_Ecom 5 valores linearmente espaçados entre 3 e 15. - Crie um tensor chamado
tensor_Fcom valores aleatórios e forma(2, 2).
Parte 2 — Conversões
- Converta o array NumPy
np_arrayem um tensor TensorFlow chamadotensor_from_array. - Converta o DataFrame
dfem um tensor TensorFlow chamadotensor_from_dataframe.
Nota
- Utilize as funções mais adequadas do TensorFlow para cada operação:
tf.fill()para tensores com um único valor repetido;tf.Variable()para tensores mutáveis;tf.zeros()/tf.ones()para tensores preenchidos com zeros ou uns;tf.linspace()para tensores com valores linearmente espaçados;tf.random.normal()para tensores aleatórios;- Utilize
tf.convert_to_tensor()para conversões a partir de arrays NumPy ou DataFrames do pandas; - Evite usar
tf.constant()— utilize as funções mais específicas listadas acima.
Solução
Obrigado pelo seu feedback!
single
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo
Awesome!
Completion rate improved to 5.56
Criando 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;
12345import tensorflow as tf # Create a 2x2 constant tensor tensor_const = tf.constant([[1, 2], [3, 4]]) print(tensor_const)
tf.Variable(): ao contrário detf.constant(), um tensor definido usandotf.Variable()é mutável. Isso significa que seu valor pode ser alterado, tornando-o ideal para parâmetros treináveis em modelos;
12345import tensorflow as tf # Create a variable tensor tensor_var = tf.Variable([[1, 2], [3, 4]]) print(tensor_var)
tf.zeros(): cria um tensor preenchido com zeros;
12345import tensorflow as tf # Zero tensor of shape (3, 3) tensor_zeros = tf.zeros((3, 3)) print(tensor_zeros)
tf.ones(): por outro lado, cria um tensor preenchido com uns;
12345import tensorflow as tf # Ones tensor of shape (2, 2) tensor_ones = tf.ones((2, 2)) print(tensor_ones)
tf.fill(): cria um tensor preenchido com um valor específico;
12345import tensorflow as tf # Tensor of shape (2, 2) filled with 6 tensor_fill = tf.fill((2, 2), 6) print(tensor_fill)
tf.linspace()etf.range(): ótimos para criar sequências;
123456789import 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)
tf.random: gera tensores com valores aleatórios. Diversas distribuições e funções estão disponíveis neste módulo, comotf.random.normal()para valores de uma distribuição normal etf.random.uniform()para valores de uma distribuição uniforme.
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.
1234567891011121314import 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)
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();
12345678910import 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)
- A partir de DataFrames do Pandas: para quem utiliza análise de dados com Pandas, converter um DataFrame ou uma Series para um tensor do TensorFlow é simples. Utilize também
tf.convert_to_tensor();
12345678910import 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)
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. Caso haja incompatibilidade, considere realizar o casting de tipo.
- Convertendo um tensor constante em uma
Variable: é possível inicializar umaVariableutilizando diversos métodos de criação de tensores, comotf.ones(),tf.linspace(),tf.random, entre outros. Basta passar a função ou o tensor já existente paratf.Variable().
12345678910111213import 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)
Para aprimorar a criação de tensores, recomenda-se praticar com diferentes formatos e valores. Para mais detalhes sobre comandos específicos, consulte a documentação do TensorFlow. Lá estão disponíveis todas as informações necessárias sobre qualquer comando ou módulo da biblioteca.
Swipe to start coding
Sua tarefa é criar, modificar e converter diversos tensores utilizando o TensorFlow.
Parte 1 — Inicialização de Tensores
- Crie um tensor chamado
tensor_Acom forma(3, 3)e todos os elementos iguais a 5. - Crie um tensor mutável chamado
tensor_Bcom forma(2, 3)e quaisquer valores de sua escolha. - Crie um tensor chamado
tensor_Ccom forma(3, 3)preenchido com zeros. - Crie um tensor chamado
tensor_Dcom forma(4, 4)preenchido com uns. - Crie um tensor chamado
tensor_Ecom 5 valores linearmente espaçados entre 3 e 15. - Crie um tensor chamado
tensor_Fcom valores aleatórios e forma(2, 2).
Parte 2 — Conversões
- Converta o array NumPy
np_arrayem um tensor TensorFlow chamadotensor_from_array. - Converta o DataFrame
dfem um tensor TensorFlow chamadotensor_from_dataframe.
Nota
- Utilize as funções mais adequadas do TensorFlow para cada operação:
tf.fill()para tensores com um único valor repetido;tf.Variable()para tensores mutáveis;tf.zeros()/tf.ones()para tensores preenchidos com zeros ou uns;tf.linspace()para tensores com valores linearmente espaçados;tf.random.normal()para tensores aleatórios;- Utilize
tf.convert_to_tensor()para conversões a partir de arrays NumPy ou DataFrames do pandas; - Evite usar
tf.constant()— utilize as funções mais específicas listadas acima.
Solução
Obrigado pelo seu feedback!
single