ComenzarEmpieza gratis

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: A cup of espresso

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

Ver curso

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 capa softmax().
  • 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)
Editar y ejecutar código