Guía paso a paso para entrenar tu primer modelo en PyTorch y TensorFlow

guia-paso-paso-entrenar-modelo-pytorch-tensorflow

Si estás empezando con Machine Learning, una de las primeras tareas que debes dominar es el entrenamiento de un modelo.

En esta guía aprenderás, paso a paso, cómo entrenar un modelo básico en PyTorch y TensorFlow para predecir valores en base a datos de entrada.

Índice
  1. 1️⃣ Conceptos básicos antes de entrenar un modelo
  2. 2️⃣ Configurar el entorno
  3. 3️⃣ Crear y entrenar un modelo en PyTorch
    1. Paso 1: Importar librerías
    2. Paso 2: Crear los datos de entrenamiento
    3. Paso 3: Definir el modelo
    4. Paso 4: Definir la función de pérdida y el optimizador
    5. Paso 5: Entrenar el modelo
    6. Paso 6: Realizar una predicción
  4. 4️⃣ Crear y entrenar un modelo en TensorFlow
    1. Paso 1: Importar librerías
    2. Paso 2: Crear los datos de entrenamiento
    3. Paso 3: Definir el modelo
    4. Paso 4: Compilar el modelo
    5. Paso 5: Entrenar el modelo
    6. Paso 6: Realizar una predicción
  5. 5️⃣ Comparación entre PyTorch y TensorFlow
  6. 6️⃣ Preguntas frecuentes (FAQs)
    1. ¿Cuál es más fácil de aprender?
    2. ¿Necesito una GPU para entrenar modelos?
    3. ¿Cuál debería usar?
  7. 7️⃣ Conclusión

1️⃣ Conceptos básicos antes de entrenar un modelo

Antes de empezar, es importante entender algunos conceptos clave:

🔹 Modelo: Es una representación matemática que aprende a hacer predicciones basándose en datos.
🔹 Entrenamiento: Proceso en el que el modelo ajusta sus parámetros para minimizar el error.
🔹 Función de pérdida: Mide cuán incorrectas son las predicciones del modelo.
🔹 Optimizador: Algoritmo que ajusta los parámetros del modelo para reducir el error.

2️⃣ Configurar el entorno

Para seguir esta guía, necesitas instalar PyTorch y TensorFlow. Puedes hacerlo ejecutando:

pip install torch torchvision torchaudio tensorflow numpy

3️⃣ Crear y entrenar un modelo en PyTorch

Vamos a entrenar un modelo de regresión lineal que prediga un valor numérico en base a una entrada.

Paso 1: Importar librerías

import torch
import torch.nn as nn
import torch.optim as optim

Paso 2: Crear los datos de entrenamiento

# Datos de entrada (X) y salida (Y)
X = torch.tensor([[1], [2], [3], [4], [5]], dtype=torch.float32)
Y = torch.tensor([[2], [4], [6], [8], [10]], dtype=torch.float32)

Paso 3: Definir el modelo

modelo = nn.Linear(in_features=1, out_features=1)

Paso 4: Definir la función de pérdida y el optimizador

criterio = nn.MSELoss()
optimizador = optim.SGD(modelo.parameters(), lr=0.01)

Paso 5: Entrenar el modelo

for epoch in range(500):
    optimizador.zero_grad()
    predicciones = modelo(X)
    perdida = criterio(predicciones, Y)
    perdida.backward()
    optimizador.step()

Paso 6: Realizar una predicción

entrada = torch.tensor([[6]], dtype=torch.float32)
print(f"Predicción para X=6: {modelo(entrada).item():.2f}")

4️⃣ Crear y entrenar un modelo en TensorFlow

Ahora entrenaremos el mismo modelo en TensorFlow.

Paso 1: Importar librerías

import tensorflow as tf
import numpy as np

Paso 2: Crear los datos de entrenamiento

X = np.array([1, 2, 3, 4, 5], dtype=np.float32)
Y = np.array([2, 4, 6, 8, 10], dtype=np.float32)

Paso 3: Definir el modelo

modelo = tf.keras.Sequential([
    tf.keras.layers.Dense(units=1, input_shape=[1])
])

Paso 4: Compilar el modelo

modelo.compile(optimizer='sgd', loss='mean_squared_error')

Paso 5: Entrenar el modelo

modelo.fit(X, Y, epochs=500, verbose=0)

Paso 6: Realizar una predicción

print(f"Predicción para X=6: {modelo.predict([6])[0][0]:.2f}")

5️⃣ Comparación entre PyTorch y TensorFlow

🔹 PyTorch es más flexible y permite controlar cada paso del entrenamiento de manera manual. Ideal para investigación y depuración.
🔹 TensorFlow automatiza más el proceso y está optimizado para despliegues en producción.

6️⃣ Preguntas frecuentes (FAQs)

¿Cuál es más fácil de aprender?

Si ya usas Python, PyTorch te resultará más intuitivo. TensorFlow tiene una curva de aprendizaje más pronunciada, pero es potente para despliegues.

¿Necesito una GPU para entrenar modelos?

No, puedes entrenar en CPU, aunque si el modelo es grande, una GPU acelerará el proceso.

¿Cuál debería usar?

Depende de tu objetivo:

  • Si estás aprendiendo y quieres experimentar → PyTorch
  • Si quieres llevar modelos a producción → TensorFlow

7️⃣ Conclusión

Ahora que ya entrenaste tu primer modelo en PyTorch y TensorFlow, puedes explorar métodos más avanzados como redes neuronales profundas.

Si quieres conocer otros artículos parecidos a Guía paso a paso para entrenar tu primer modelo en PyTorch y TensorFlow puedes visitar la categoría IA.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Subir