Classificação de imagens com ResNet
Você criou o modelo a partir do ResNet18 pré-treinado. Agora, é hora de testar isso em uma imagem de exemplo.
Você vai aplicar transformações de pré-processamento a uma imagem e classificá-la. Você vai precisar usar a camada “ softmax() ” seguida pela “ argmax() ”, já que o ResNet18 foi treinado em um conjunto de dados com várias classes.
Você escolheu a imagem a seguir para usar no teste de previsão:

A transformação de pré-processamento é salva como “ preprocess ”. A imagem PIL foi enviada como img.
Este exercício faz parte do curso
Aprendizado profundo para imagens com PyTorch
Instruções do exercício
- Aplique as transformações de pré-processamento à imagem e remodele-a usando
.unsqueeze(0)para adicionar a dimensão do lote. - Passa a imagem pelo modelo, reformula a saída usando um “
.squeeze(0)” para tirar a dimensão do lote e adiciona uma camada “softmax()”. - Use a regra de classificação de eventos (
argmax()) para escolher a classe com maior probabilidade.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# 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)