ComenzarEmpieza gratis

Clasificación de imágenes con ResNet

Has creado el modelo a partir del ResNet18 preentrenado. Ahora es el momento de probarlo con una imagen de ejemplo.

Vas a aplicar transformaciones de preprocesamiento a una imagen y clasificarla. Deberás utilizar la capa « softmax() » seguida de « argmax() », ya que ResNet18 se ha entrenado con un conjunto de datos multiclase.

Has seleccionado la siguiente imagen para realizar la prueba de predicción: Una taza de café expreso

La transformación de preprocesamiento se guarda como « preprocess ». La imagen PIL se ha subido como img.

Este ejercicio forma parte del curso

Aprendizaje profundo para imágenes con PyTorch

Ver curso

Instrucciones del ejercicio

  • Aplica las transformaciones de preprocesamiento a la imagen y dale una nueva forma utilizando .unsqueeze(0) para añadir la dimensión por lotes.
  • Pasa la imagen por el modelo, remodela la salida utilizando « .squeeze(0) » (Reducir a una dimensión) para eliminar la dimensión por lotes y añade una capa « softmax() » (Reducir a una dimensión).
  • Aplica argmax() para seleccionar la clase con mayor probabilidad.

Ejercicio interactivo práctico

Prueba este ejercicio completando 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