Middle
¿Cómo crear y entrenar un clasificador en PyTorch?
sobes.tech AI
Respuesta de la IA
Para crear y entrenar un clasificador en PyTorch, debes seguir varios pasos:
- Definir el modelo — crear una clase que herede de
nn.Moduley describir la arquitectura. - Preparar los datos — cargar y transformar los datos en un
DataLoader. - Definir la función de pérdida y el optimizador.
- Entrenar el modelo — recorrer los datos en un ciclo, calcular la salida, contar el error, realizar la retropropagación y actualizar los pesos.
Ejemplo de un clasificador simple para una tarea con 10 clases:
import torch
import torch.nn as nn
import torch.optim as optim
class SimpleClassifier(nn.Module):
def __init__(self):
super().__init__()
self.fc = nn.Linear(784, 10) # ejemplo para imágenes de 28x28
def forward(self, x):
return self.fc(x)
model = SimpleClassifier()
criterion = nn.CrossEntropyLoss()
optimizer = optim.SGD(model.parameters(), lr=0.01)
# Ejemplo de ciclo de entrenamiento
for epoch in range(num_epochs):
for inputs, labels in dataloader:
outputs = model(inputs)
loss = criterion(outputs, labels)
optimizer.zero_grad()
loss.backward()
optimizer.step()
Este código se puede ampliar añadiendo capas, funciones de activación, procesamiento de datos, etc.