Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Creación de Tensores | Tensores
Introducción a TensorFlow

bookCreación de Tensores

Creación de tensores

Esta lección se centra en la creación de tensores utilizando TensorFlow. TensorFlow proporciona numerosos métodos para inicializar tensores. Al finalizar esta lección, dominará la generación de tensores para una amplia variedad de aplicaciones.

Inicializadores básicos de tensores

  • tf.constant(): esta es la forma más sencilla de crear un tensor. Como su nombre indica, los tensores inicializados con este método contienen valores constantes y son inmutables;
12345
import tensorflow as tf # Create a 2x2 constant tensor tensor_const = tf.constant([[1, 2], [3, 4]]) print(tensor_const)
copy
  • tf.Variable(): a diferencia de tf.constant(), un tensor definido usando tf.Variable() es mutable. Esto significa que su valor puede cambiarse, lo que lo hace ideal para parámetros entrenables en modelos;
12345
import tensorflow as tf # Create a variable tensor tensor_var = tf.Variable([[1, 2], [3, 4]]) print(tensor_var)
copy
  • tf.zeros(): crea un tensor lleno de ceros;
12345
import tensorflow as tf # Zero tensor of shape (3, 3) tensor_zeros = tf.zeros((3, 3)) print(tensor_zeros)
copy
  • tf.ones(): por el contrario, crea un tensor lleno de unos;
12345
import tensorflow as tf # Ones tensor of shape (2, 2) tensor_ones = tf.ones((2, 2)) print(tensor_ones)
copy
  • tf.fill(): crea un tensor rellenado con un 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() y tf.range(): ideales para crear secuencias;
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: genera tensores con valores aleatorios. Este módulo ofrece varias distribuciones y funciones, como tf.random.normal() para valores de una distribución normal y tf.random.uniform() para valores de una distribución uniforme.
Note
Nota

También es posible establecer una semilla fija para obtener resultados consistentes en cada generación de números aleatorios utilizando tf.random.set_seed(). Sin embargo, tenga en cuenta que al hacer esto, recibirá el mismo número para cualquier generación aleatoria dentro de TensorFlow.

Si desea obtener números consistentes solo para un comando específico, puede proporcionar un argumento seed a ese comando con el valor de semilla deseado.

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

Conversión entre estructuras de datos

Los tensores de TensorFlow pueden convertirse fácilmente hacia y desde estructuras de datos familiares de Python.

  • Desde arreglos de Numpy: Los tensores de TensorFlow y los arreglos de Numpy son bastante interoperables. Utilice 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
  • Desde DataFrames de Pandas: para quienes prefieren el análisis de datos con Pandas, convertir un DataFrame o una Serie en un tensor de TensorFlow es sencillo. Utilice también 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

Asegúrese siempre de que los tipos de datos de sus estructuras originales (arrays de Numpy o DataFrames de Pandas) sean compatibles con los tipos de datos de tensor de TensorFlow. Si hay una incompatibilidad, considere realizar una conversión de tipo.

  • Convertir un tensor constante en una Variable: se puede inicializar una Variable utilizando varios métodos de creación de tensores como tf.ones(), tf.linspace(), tf.random, entre otros. Simplemente pase la función o el tensor preexistente a 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 mejorar en la creación de tensores, practique con diferentes formas y valores. Para más detalles sobre comandos específicos, consulte la documentación oficial de TensorFlow. Allí encontrará toda la información necesaria sobre cualquier comando o módulo de la biblioteca.

Tarea

Swipe to start coding

Tu tarea es crear, modificar y convertir varios tensores en este desafío.

Parte 1 — Inicialización de tensores

  1. Crear un tensor llamado tensor_A con forma (3, 3) y todos los elementos iguales a 5.
  2. Crear un tensor mutable llamado tensor_B con forma (2, 3) y cualquier valor de tu elección.
  3. Crear un tensor llamado tensor_C con forma (3, 3) lleno de ceros.
  4. Crear un tensor llamado tensor_D con forma (4, 4) lleno de unos.
  5. Crear un tensor llamado tensor_E con 5 valores espaciados linealmente entre 3 y 15.
  6. Crear un tensor llamado tensor_F con valores aleatorios y forma (2, 2).

Parte 2 — Conversiones

  1. Convertir el arreglo de NumPy np_array en un tensor de TensorFlow llamado tensor_from_array.
  2. Convertir el DataFrame df en un tensor de TensorFlow llamado tensor_from_dataframe.

Nota

  • Utiliza las funciones más apropiadas de TensorFlow (por ejemplo, tf.ones(), tf.zeros(), tf.fill(), etc.).
  • Para conversiones, utiliza tf.convert_to_tensor().
  • Para tensores con valores espaciados linealmente, utiliza tf.linspace(start, stop, num).
  • Para tensores aleatorios, utiliza tf.random.normal(shape).

Solución

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 1. Capítulo 6
single

single

Pregunte a AI

expand

Pregunte a AI

ChatGPT

Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla

close

Awesome!

Completion rate improved to 5.56

bookCreación de Tensores

Desliza para mostrar el menú

Creación de tensores

Esta lección se centra en la creación de tensores utilizando TensorFlow. TensorFlow proporciona numerosos métodos para inicializar tensores. Al finalizar esta lección, dominará la generación de tensores para una amplia variedad de aplicaciones.

Inicializadores básicos de tensores

  • tf.constant(): esta es la forma más sencilla de crear un tensor. Como su nombre indica, los tensores inicializados con este método contienen valores constantes y son inmutables;
12345
import tensorflow as tf # Create a 2x2 constant tensor tensor_const = tf.constant([[1, 2], [3, 4]]) print(tensor_const)
copy
  • tf.Variable(): a diferencia de tf.constant(), un tensor definido usando tf.Variable() es mutable. Esto significa que su valor puede cambiarse, lo que lo hace ideal para parámetros entrenables en modelos;
12345
import tensorflow as tf # Create a variable tensor tensor_var = tf.Variable([[1, 2], [3, 4]]) print(tensor_var)
copy
  • tf.zeros(): crea un tensor lleno de ceros;
12345
import tensorflow as tf # Zero tensor of shape (3, 3) tensor_zeros = tf.zeros((3, 3)) print(tensor_zeros)
copy
  • tf.ones(): por el contrario, crea un tensor lleno de unos;
12345
import tensorflow as tf # Ones tensor of shape (2, 2) tensor_ones = tf.ones((2, 2)) print(tensor_ones)
copy
  • tf.fill(): crea un tensor rellenado con un 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() y tf.range(): ideales para crear secuencias;
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: genera tensores con valores aleatorios. Este módulo ofrece varias distribuciones y funciones, como tf.random.normal() para valores de una distribución normal y tf.random.uniform() para valores de una distribución uniforme.
Note
Nota

También es posible establecer una semilla fija para obtener resultados consistentes en cada generación de números aleatorios utilizando tf.random.set_seed(). Sin embargo, tenga en cuenta que al hacer esto, recibirá el mismo número para cualquier generación aleatoria dentro de TensorFlow.

Si desea obtener números consistentes solo para un comando específico, puede proporcionar un argumento seed a ese comando con el valor de semilla deseado.

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

Conversión entre estructuras de datos

Los tensores de TensorFlow pueden convertirse fácilmente hacia y desde estructuras de datos familiares de Python.

  • Desde arreglos de Numpy: Los tensores de TensorFlow y los arreglos de Numpy son bastante interoperables. Utilice 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
  • Desde DataFrames de Pandas: para quienes prefieren el análisis de datos con Pandas, convertir un DataFrame o una Serie en un tensor de TensorFlow es sencillo. Utilice también 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

Asegúrese siempre de que los tipos de datos de sus estructuras originales (arrays de Numpy o DataFrames de Pandas) sean compatibles con los tipos de datos de tensor de TensorFlow. Si hay una incompatibilidad, considere realizar una conversión de tipo.

  • Convertir un tensor constante en una Variable: se puede inicializar una Variable utilizando varios métodos de creación de tensores como tf.ones(), tf.linspace(), tf.random, entre otros. Simplemente pase la función o el tensor preexistente a 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 mejorar en la creación de tensores, practique con diferentes formas y valores. Para más detalles sobre comandos específicos, consulte la documentación oficial de TensorFlow. Allí encontrará toda la información necesaria sobre cualquier comando o módulo de la biblioteca.

Tarea

Swipe to start coding

Tu tarea es crear, modificar y convertir varios tensores en este desafío.

Parte 1 — Inicialización de tensores

  1. Crear un tensor llamado tensor_A con forma (3, 3) y todos los elementos iguales a 5.
  2. Crear un tensor mutable llamado tensor_B con forma (2, 3) y cualquier valor de tu elección.
  3. Crear un tensor llamado tensor_C con forma (3, 3) lleno de ceros.
  4. Crear un tensor llamado tensor_D con forma (4, 4) lleno de unos.
  5. Crear un tensor llamado tensor_E con 5 valores espaciados linealmente entre 3 y 15.
  6. Crear un tensor llamado tensor_F con valores aleatorios y forma (2, 2).

Parte 2 — Conversiones

  1. Convertir el arreglo de NumPy np_array en un tensor de TensorFlow llamado tensor_from_array.
  2. Convertir el DataFrame df en un tensor de TensorFlow llamado tensor_from_dataframe.

Nota

  • Utiliza las funciones más apropiadas de TensorFlow (por ejemplo, tf.ones(), tf.zeros(), tf.fill(), etc.).
  • Para conversiones, utiliza tf.convert_to_tensor().
  • Para tensores con valores espaciados linealmente, utiliza tf.linspace(start, stop, num).
  • Para tensores aleatorios, utiliza tf.random.normal(shape).

Solución

Switch to desktopCambia al escritorio para practicar en el mundo realContinúe desde donde se encuentra utilizando una de las siguientes opciones
¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 1. Capítulo 6
single

single

some-alt