Logo de CursoIA
CursoIA Curso de Inteligencia Artificial

TensorFlow desde cero, Unidad 2 — Instalación y entorno de trabajo, 2.2 — Primer contacto con TensorFlow ·

Operaciones básicas

Operaciones básicas con TensorFlow

Introducción

TensorFlow es una poderosa herramienta para construir y entrenar modelos de aprendizaje profundo. Para aprovechar al máximo sus capacidades, es crucial entender cómo trabajar con tensores y realizar operaciones matemáticas básicas en el entorno de desarrollo. En esta guía, exploraremos cómo crear tensores y realizar operaciones simples utilizando TensorFlow.

Explicación principal

TensorFlow utiliza tensores para representar datos multidimensionales. Un tensor es una estructura con rango n (donde n puede ser 0 o más). Aquí te mostramos cómo crear y manipular estos tensores básicos:

import tensorflow as tf

# Creación de un tensor escalar
scalar = tf.constant(42)
print(scalar)

# Creación de un tensor vector
vector = tf.constant([1, 2, 3])
print(vector)

# Creación de un tensor matrix (matriz)
matrix = tf.constant([[1., 2.], [3., 4.]])
print(matrix)

Operaciones matemáticas básicas

TensorFlow proporciona una amplia gama de funciones para realizar operaciones matemáticas con tensores. Algunos ejemplos incluyen suma, resta, multiplicación y división:

# Suma
sum_tensor = tf.add(vector, matrix)
print(sum_tensor)

# Resta
subtraction = vector - [4, 5, 6]
print(subtraction)

# Multiplicación
product = tf.multiply(matrix, [[2], [3]])
print(product)

# División
division = tf.divide(vector, [2.])
print(division)

Operaciones matriciales

TensorFlow también soporta operaciones matriciales complejas:

# Transpuesta de una matriz
transposed_matrix = tf.transpose(matrix)
print(transposed_matrix)

# Producto punto (dot product) entre dos tensores
dot_product = tf.matmul(vector, vector)
print(dot_product)

Errores típicos / trampas

A medida que comienzas a trabajar con TensorFlow, es común encontrarse con varios errores y desafíos. Aquí te presentamos algunos de los más comunes:

  1. Operaciones no soportadas: TensorFlow puede no permitir ciertas operaciones en ciertos tipos de tensores o rangos.
   # Intentar sumar un escalar a una matriz sin conversiones 
   error = vector + 42
   print(error)  # Esto generará un error
  1. Dimensiones incompatibles: Las dimensiones de los tensores deben coincidir para realizar ciertas operaciones, como la multiplicación matricial.
  1. Uso incorrecto de funciones:
   # Intentar usar una función que no existe
   invalid_operation = vector.sum()  # 'sum' no es una función de TensorFlow
   print(invalid_operation)  # Esto generará un error

Checklist accionable

Para asegurarte de que estás trabajando correctamente con tensores en TensorFlow, sigue estos pasos:

  1. Importa TensorFlow:
   import tensorflow as tf
  1. Crea tensores básicos:
   scalar = tf.constant(42)
   vector = tf.constant([1, 2, 3])
   matrix = tf.constant([[1., 2.], [3., 4.]])
  1. Realiza operaciones matemáticas:
  • Suma: tf.add
  • Resta: vector - [4, 5, 6] (recuerda que las dimensiones deben coincidir)
  • Multiplicación: tf.multiply
  • División: tf.divide
  1. Utiliza funciones matriciales:
   transposed_matrix = tf.transpose(matrix)
   dot_product = tf.matmul(vector, vector)
  1. Verifica el tipo de tensor y sus dimensiones:
   print(scalar.dtype)  # <class 'tensorflow.python.framework.ops.EagerTensor'>
   print(vector.shape)  # (3,)
  1. Realiza comprobaciones y conversiones necesarias antes de operar:
   vector_float = tf.cast([1, 2, 3], dtype=tf.float32)
   matrix_float = tf.cast([[1., 2.], [3., 4.]], dtype=tf.float32)

Cierre

Ahora que has aprendido las operaciones básicas con tensores en TensorFlow, estás listo para avanzar a nivel más alto en tu viaje hacia el dominio del deep learning. Asegúrate de practicar regularmente y explorar otras operaciones y funcionalidades para profundizar aún más.

Siguientes pasos

  • Practica con datasets: Trabaja con conjuntos de datos reales para aplicar tus conocimientos.
  • Explora funciones avanzadas: Aprende a manipular tensores en tiempo real y comprender mejor la arquitectura interna.
  • Usa callbacks: Para optimizar el entrenamiento de modelos, utiliza funcionalidades como tf.keras.callbacks.
  • Sigue profundizando: Avanza a nivel más avanzado con optimizadores, regularización y validación.

Contacto

Indica tu objetivo (ChatGPT, RAG, agentes, automatización) y tu stack (web/backend).