โมเดล 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=____,
)