Clasificación de imágenes con ResNet
Has creado el modelo a partir de ResNet18 preentrenada. Ahora toca probarlo con una imagen de ejemplo.
Vas a aplicar transformaciones de preprocesado a una imagen y clasificarla. Necesitarás usar la capa softmax() seguida de argmax(), ya que ResNet18 se ha entrenado con un conjunto de datos multiclase.
Has seleccionado la siguiente imagen para probar la predicción:

La transformación de preprocesado está guardada como preprocess. La imagen de PIL se ha cargado como img.
Este ejercicio forma parte del curso
Deep Learning para imágenes con PyTorch
Instrucciones del ejercicio
- Aplica las transformaciones de preprocesado a la imagen y cambia su forma con
.unsqueeze(0)para añadir la dimensión de lote (batch). - Pasa la imagen por el modelo, reestructura la salida con
.squeeze(0)para eliminar la dimensión de lote y añade una capasoftmax(). - Aplica
argmax()para escoger la clase con mayor probabilidad.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# Apply preprocessing transforms
batch = ____.____
# Apply model with softmax layer
prediction = ____.____.____
# Apply argmax
class_id = prediction.____.item()
score = prediction[class_id].item()
category_name = weights.meta["categories"][class_id]
print(category_name)