НачатьНачать бесплатно

Классификация изображений с помощью ResNet

Вы создали модель на основе предобученной ResNet18. Теперь пришло время протестировать её на примере изображения.

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

Для тестирования предсказания выбрано следующее изображение: A cup of espresso

Преобразование для предобработки сохранено в переменной 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)
Редактировать и запускать код