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

Запуск семантической сегментации

Отличная работа по проектированию U-Net! Теперь вам доступна уже предобученная модель, очень похожая на ту, что вы только что построили. Она обучена на большом наборе изображений и содержит несколько небольших дополнений к архитектуре, например слои нормализации по мини-батчам.

Модель можно создать с помощью UNet() — это загрузит предобученные веса. Ваша задача — использовать её для получения масок сегментации следующего изображения автомобиля.

car image

Image из PIL уже импортирован.

Это упражнение является частью курса

Глубокое обучение для работы с изображениями на PyTorch

Посмотреть курс

Инструкции к упражнению

  • Создайте экземпляр UNet() и сохраните его в переменную model.
  • Загрузите изображение car.jpg в переменную image.
  • Получите маски сегментации, передав изображение в модель, и примените squeeze(0) к результату.

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

# Load model
model = ____
model.eval()

# Load and transform image
image = ____
transform = transforms.Compose([transforms.ToTensor()])
image_tensor = transform(image).unsqueeze(0)

# Predict segmentation mask
with torch.no_grad():
    prediction = ____

# Display mask
plt.imshow(prediction[1, :, :])
plt.show()
Редактировать и запускать код