single
Creación de Tensores
Desliza para mostrar el menú
Inicializadores básicos de tensores
tf.constant(): este es el método más sencillo para crear un tensor. Como su nombre indica, los tensores inicializados con este método contienen valores constantes y son inmutables;
12345import tensorflow as tf # Create a 2x2 constant tensor tensor_const = tf.constant([[1, 2], [3, 4]]) print(tensor_const)
tf.Variable(): a diferencia detf.constant(), un tensor definido usandotf.Variable()es mutable. Esto significa que su valor puede cambiar, lo que lo hace adecuado para parámetros entrenables en modelos;
12345import tensorflow as tf # Create a variable tensor tensor_var = tf.Variable([[1, 2], [3, 4]]) print(tensor_var)
tf.zeros(): crear un tensor lleno de ceros;
12345import tensorflow as tf # Zero tensor of shape (3, 3) tensor_zeros = tf.zeros((3, 3)) print(tensor_zeros)
tf.ones(): por el contrario, crea un tensor lleno de unos;
12345import tensorflow as tf # Ones tensor of shape (2, 2) tensor_ones = tf.ones((2, 2)) print(tensor_ones)
tf.fill(): crea un tensor lleno con un 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()ytf.range(): útiles para crear secuencias;
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: genera tensores con valores aleatorios. Este módulo ofrece varias distribuciones y funciones, comotf.random.normal()para valores de una distribución normal, ytf.random.uniform()para valores de una distribución uniforme.
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.
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)
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 altamente interoperables. Utilizar
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)
- Desde DataFrames de Pandas: para quienes prefieren el análisis de datos con Pandas, convertir un DataFrame o una Serie a un tensor de TensorFlow es sencillo. Utilizar también
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)
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 tensores de TensorFlow. Si existe una incompatibilidad, considere realizar una conversión de tipo.
- Conversión de un tensor constante a una
Variable: es posible inicializar unaVariableutilizando varios métodos de creación de tensores comotf.ones(),tf.linspace(),tf.random, entre otros. Simplemente pase la función o el tensor preexistente atf.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 mejorar la creación de tensores, practicar con diferentes formas y valores. Para más detalles sobre comandos específicos, consultar la documentación de TensorFlow. Contiene toda la información necesaria sobre cualquier comando o módulo de la biblioteca.
Swipe to start coding
Su tarea es crear, modificar y convertir varios tensores utilizando TensorFlow.
Parte 1 — Inicialización de tensores
- Crear un tensor llamado
tensor_Acon forma(3, 3)y todos los elementos iguales a 5. - Crear un tensor mutable llamado
tensor_Bcon forma(2, 3)y cualquier valor de su elección. - Crear un tensor llamado
tensor_Ccon forma(3, 3)lleno de ceros. - Crear un tensor llamado
tensor_Dcon forma(4, 4)lleno de unos. - Crear un tensor llamado
tensor_Econ 5 valores espaciados linealmente entre 3 y 15. - Crear un tensor llamado
tensor_Fcon valores aleatorios y forma(2, 2).
Parte 2 — Conversiones
- Convertir el arreglo de NumPy
np_arrayen un tensor de TensorFlow llamadotensor_from_array. - Convertir el DataFrame
dfen un tensor de TensorFlow llamadotensor_from_dataframe.
Nota
- Utilizar las funciones de TensorFlow más adecuadas para cada operación:
tf.fill()para tensores con un solo valor repetido;tf.Variable()para tensores mutables;tf.zeros()/tf.ones()para tensores llenos de ceros o unos;tf.linspace()para tensores con valores espaciados linealmente;tf.random.normal()para tensores aleatorios;- Utilizar
tf.convert_to_tensor()para conversiones desde arreglos de NumPy o DataFrames de pandas; - Evitar el uso de
tf.constant()— utilice las funciones más específicas mencionadas anteriormente.
Solución
¡Gracias por tus comentarios!
single
Pregunte a AI
Pregunte a AI
Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla