Faster R-CNN 模型
你的下一個任務是建立一個 Faster R-CNN 模型,能在影像中偵測不同大小的物件。為了完成這個任務,你會使用 torchvision.ops 提供的方便類別 MultiScaleRoIAlign()。
FasterRCNN 類別已從 torchvision.models.detection 匯入。上個練習建立的 anchor_generator 已在你的工作環境中可用,且已匯入 torch、torch.nn 作為 nn,以及 torchvision。
本練習屬於課程
使用 PyTorch 進行影像深度學習
練習說明
- 從
torchvision.ops匯入MultiScaleRoIAlign。 - 使用
MultiScaleRoIAlign具現化 RoI 池化器,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=____,
)