Классификация изображений с помощью ResNet
Вы создали модель на основе предобученной ResNet18. Теперь пришло время протестировать её на примере изображения.
Вы примените преобразования для предобработки к изображению и выполните его классификацию. Вам потребуется использовать слой softmax(), а затем argmax(), поскольку ResNet18 обучена на многоклассовом наборе данных.
Для тестирования предсказания выбрано следующее изображение:

Преобразование для предобработки сохранено в переменной preprocess. Изображение в формате PIL загружено как img.
Это упражнение является частью курса
Глубокое обучение для работы с изображениями на PyTorch
Инструкции к упражнению
- Примените преобразования предобработки к изображению и измените его форму с помощью
.unsqueeze(0), чтобы добавить размерность батча. - Передайте изображение через модель, измените форму выходных данных с помощью
.squeeze(0), чтобы убрать размерность батча, и добавьте слойsoftmax(). - Примените
argmax(), чтобы выбрать класс с наибольшей вероятностью.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# 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)