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)