เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

การรัน Semantic Segmentation

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

สามารถสร้างโมเดลได้ด้วย UNet() ซึ่งจะโหลด pre-trained weights ให้อัตโนมัติ ภารกิจของคุณคือนำโมเดลนี้ไปสร้าง segmentation mask สำหรับรูปภาพรถยนต์ต่อไปนี้

car image

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()
แก้ไขและรันโค้ด