Classificação de imagens com ResNet
Você criou o modelo a partir do ResNet18 pré-treinado. Agora é hora de testá-lo em uma imagem de exemplo.
Você vai aplicar transformações de pré-processamento a uma imagem e classificá-la. Será necessário usar a camada softmax() seguida de argmax(), já que o ResNet18 foi treinado em um conjunto de dados multiclasse.
Você selecionou a seguinte imagem para testes de predição:

A transformação de pré-processamento está salva como preprocess. A imagem PIL foi carregada como img.
Este exercício faz parte do curso
Deep Learning para Imagens com PyTorch
Instruções do exercício
- Aplique as transformações de pré-processamento à imagem e reestruture-a usando
.unsqueeze(0)para adicionar a dimensão de batch. - Passe a imagem pelo modelo, reestruture a saída usando
.squeeze(0)para remover a dimensão de batch e adicione uma camadasoftmax(). - Aplique
argmax()para selecionar 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)