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

โมเดล Faster R-CNN

ภารกิจต่อไปคือการสร้างโมเดล Faster R-CNN ที่สามารถตรวจจับวัตถุที่มีขนาดต่างกันในภาพได้ สำหรับภารกิจนี้ จะใช้คลาส MultiScaleRoIAlign() จาก torchvision.ops

ได้นำเข้าคลาส FasterRCNN จาก torchvision.models.detection แล้ว และ anchor_generator จากแบบฝึกหัดก่อนหน้าพร้อมใช้งานใน workspace รวมถึงได้นำเข้า torch, torch.nn ในชื่อ nn และ torchvision แล้วเช่นกัน

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

Deep Learning สำหรับภาพด้วย PyTorch

ดูคอร์ส

คำแนะนำการฝึกหัด

  • นำเข้า MultiScaleRoIAlign จาก torchvision.ops
  • สร้าง RoI pooler โดยใช้ MultiScaleRoIAlign โดยกำหนด featmap_names เป็น ["0"], output_size เป็น 7 และ sampling_ratio เป็น 2
  • สร้างโมเดล Faster R-CNN โดยส่ง backbone, num_class สำหรับการจำแนกประเภทแบบไบนารี, anchor_generator และ roi_pooler เข้าไป

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# Import MultiScaleRoIAlign
____

# Instantiate RoI pooler
roi_pooler = ____(
	____,
	____,
	____,
)

mobilenet = torchvision.models.mobilenet_v2(weights="DEFAULT")
backbone = nn.Sequential(*list(mobilenet.features.children()))
backbone.out_channels = 1280

# Create Faster R-CNN model
model = ____(
	backbone=____
	num_classes=____,
	anchor_generator=____,
	box_roi_pool=____,
)
แก้ไขและรันโค้ด