Modelo R-CNN mais rápido
A próxima tarefa é criar um modelo Faster R-CNN que consiga detectar objetos de tamanhos diferentes em uma imagem. Pra essa tarefa, você vai usar uma classe bem útil chamada MultiScaleRoIAlign()
, que tá em torchvision.ops
.
FasterRCNN
A classe foi importada de torchvision.models.detection
. Seu arquivo “ anchor_generator
” do último exercício tá disponível na sua área de trabalho e os arquivos “ torch
”, “ torch.nn
”, “ nn
” e “ torchvision
” foram importados.
Este exercício faz parte do curso
Aprendizado profundo para imagens com PyTorch
Instruções do exercício
- Importe
MultiScaleRoIAlign
detorchvision.ops
. - Instanciar o pooler RoI usando
MultiScaleRoIAlign
comfeatmap_names
definido como["0"]
,output_size
como7
esampling_ratio
como2
. - Crie o modelo Faster R-CNN passando-lhe o
backbone
,num_class
para uma classificação binária,anchor_generator
eroi_pooler
.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# 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=____,
)