Bắt đầu ngayBắt đầu miễn phí

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.

car image

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

Xem khóa học

Hướng dẫn bài tập

  • Khởi tạo UNet() vào một biến tên model.
  • Tải ảnh tại car.jpg vào một biến tên image.
  • 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()
Chỉnh sửa và Chạy Mã