single
Tipos de Datos
Desliza para mostrar el menú
Tipos de datos
En esta sección, se explora el concepto de tipos de datos en TensorFlow. De manera similar a cómo los lenguajes de programación categorizan los números y el texto en tipos como enteros, flotantes o cadenas, los tensores en TensorFlow también tienen tipos específicos.
Tipos de datos disponibles en TensorFlow
TensorFlow admite una gran variedad de tipos de datos para adaptarse a diferentes tipos de datos y operaciones. Algunos de los tipos más utilizados son:
-
tf.float16,tf.float32,tf.float64: estos son números de punto flotante donde los números después del punto son importantes. El número en su nombre (como16entf.float16) indica la cantidad de bits utilizados.tf.float32es comúnmente utilizado porque ofrece un buen equilibrio entre precisión y velocidad de cálculo; -
tf.int8,tf.int16,tf.int32,tf.int64: estos son tipos enteros, números sin punto decimal. Pueden ser positivos o negativos; -
tf.uint8,tf.uint16,tf.uint32,tf.uint64: la 'u' aquí significa 'unsigned' (sin signo), lo que indica que estos enteros siempre son no negativos; -
tf.bool: representa valores booleanos (TrueoFalse); -
tf.string: para datos de texto.
Para los tipos enteros, un número mayor en el nombre solo indica un rango más amplio de valores que puede almacenar. Pero para los tipos de punto flotante, un número mayor en el nombre también indica una mayor precisión computacional.
Existen más tipos de datos disponibles en TensorFlow, pero para principiantes, es fundamental familiarizarse primero con estos tipos principales. Para una lista completa de los tipos de datos compatibles con TensorFlow, consulta esta página específica en la documentación de TensorFlow.
Definición del tipo de dato al crear un tensor
Al inicializar un tensor, puedes especificar su tipo utilizando el argumento dtype:
123456789101112import tensorflow as tf # Creating a tensor of type `float16` tensor_float = tf.constant([1.2, 2.3, 3.4], dtype=tf.float16) # Creating a tensor of type `int64` tensor_int = tf.constant([1, 2, 3], dtype=tf.int64) # Display tensors print(tensor_float) print('-' * 50) print(tensor_int)
Muchas funciones de creación de tensores adoptan este enfoque. Es aplicable en métodos como tf.Variable(), tf.zeros(), tf.ones(), tf.random.normal(), tf.random.uniform(), e incluso en tf.convert_to_tensor().
Conversión entre tipos de datos
¿Pero qué sucede si la función que estás utilizando no permite la especificación directa del tipo de dato? O quizás ya tienes un tensor de cierto tipo y necesitas cambiarlo. En estos casos, será necesario transformar tensores de un tipo de dato a otro. Esto es especialmente relevante ya que ciertas operaciones o capas de redes neuronales suelen requerir entradas de un tipo particular, predominantemente números de punto flotante.
Puedes utilizar tf.cast() para lograr esto:
123456789101112import tensorflow as tf # Create a tensor tensor_float = tf.constant([-1.2, 2.3, 3.8]) # Convert our `tensor_float` from `float32` to `int32` tensor_int_converted = tf.cast(tensor_float, dtype=tf.int32) # Display a tensor print(tensor_float) print('-' * 50) print(tensor_int_converted)
Recuerda que, al convertir de un tipo de punto flotante a un tipo entero, TensorFlow realizará una operación de piso, eliminando la parte decimal. Así, 3.8 se convierte en 3 y -1.2 se convierte en -1.
Precaución al cambiar tipos de datos, especialmente al pasar a un tipo con menor precisión. Se puede perder información en el proceso.
Desliza para comenzar a programar
Tu tarea es crear un tensor de un tipo de dato específico y luego convertirlo a otro tipo de dato.
- Crear un tensor llamado
initial_tensorde forma(3, 3)con valores distribuidos normalmente. Asegúrate de que este tensor tenga un tipo de dato de valores de punto flotante de 64 bits. - Transforma el
initial_tensoren un tensor llamadoconverted_tensorcon un tipo de dato de valores de punto flotante de 16 bits.
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