Image classification with ResNet
You have created the model from the pre-trained ResNet18. Now, it is time to test it on an example image.
You are going to apply preprocessing transforms to an image and classify it. You will need to use the softmax()
layer followed by the argmax()
, since ResNet18 has been trained on a multi-class dataset.
You have selected the following image to use for prediction testing:
The preprocessing transform is saved as preprocess
. The PIL image is uploaded as img
.
This exercise is part of the course
Deep Learning for Images with PyTorch
Exercise instructions
- Apply the preprocessing transforms to the image and reshape it using
.unsqueeze(0)
to add the batch dimension. - Pass the image through the model, reshape the output using
.squeeze(0)
to remove the batch dimension, and add asoftmax()
layer. - Apply
argmax()
to select the highest-probability class.
Hands-on interactive exercise
Have a go at this exercise by completing this sample code.
# 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)