Chạy semantic segmentation
Làm tốt lắm khi thiết kế U-Net! Bạn đã có sẵn một mô hình đã được huấn luyện trước, rất giống với mô hình bạn vừa xây dựng. Mô hình này được huấn luyện trên một tập ảnh lớn và có thêm một vài chi tiết trong kiến trúc, như các lớp batch norm.
Bạn có thể khởi tạo mô hình bằng UNet(), mô hình sẽ tự động dùng các trọng số đã huấn luyện. Nhiệm vụ của bạn là dùng nó để tạo mặt nạ phân đoạn cho bức ảnh chiếc xe dưới đây.

Image từ PIL đã được nhập sẵn cho bạn.
Bài tập này là một phần của khóa học
Deep Learning cho Ảnh với PyTorch
Hướng dẫn bài tập
- Khởi tạo
UNet()vào một biến tênmodel. - Tải ảnh tại
car.jpgvào một biến tênimage. - Tạo mặt nạ phân đoạn bằng cách truyền ảnh vào mô hình và
squeeze(0)đầu ra.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# 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()