การรัน Semantic Segmentation
ยอดเยี่ยมมากที่ออกแบบ U-Net ได้สำเร็จ! ตอนนี้มีโมเดลที่ผ่านการเทรนมาแล้วซึ่งมีโครงสร้างคล้ายกับที่เพิ่งสร้างขึ้น พร้อมให้ใช้งาน โมเดลนี้ผ่านการเทรนด้วยชุดรูปภาพขนาดใหญ่ และมีการเพิ่มส่วนประกอบเล็กน้อยในสถาปัตยกรรม เช่น เลเยอร์ batch norm
สามารถสร้างโมเดลได้ด้วย UNet() ซึ่งจะโหลด pre-trained weights ให้อัตโนมัติ ภารกิจของคุณคือนำโมเดลนี้ไปสร้าง segmentation mask สำหรับรูปภาพรถยนต์ต่อไปนี้

Image จาก PIL ถูก import ไว้ให้แล้ว
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Deep Learning สำหรับภาพด้วย PyTorch
คำแนะนำการฝึกหัด
- สร้าง
UNet()แล้วกำหนดให้กับตัวแปรชื่อmodel - โหลดรูปภาพจาก
car.jpgไปยังตัวแปรชื่อimage - สร้าง segmentation mask โดยส่งรูปภาพเข้าโมเดล แล้วใช้
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()