Zacznij terazZacznij za darmo

Model Faster R-CNN

Twoim kolejnym zadaniem jest zbudowanie modelu Faster R-CNN, który wykrywa obiekty różnej wielkości na obrazie. W tym celu skorzystasz z wygodnej klasy MultiScaleRoIAlign() z modułu torchvision.ops.

Klasa FasterRCNN została już zaimportowana z torchvision.models.detection. Twój anchor_generator z poprzedniego ćwiczenia jest dostępny w przestrzeni roboczej, a torch, torch.nn jako nn oraz torchvision są już zaimportowane.

To ćwiczenie jest częścią kursu

Głębokie uczenie dla obrazów z PyTorch

Zobacz kurs

Instrukcje do ćwiczenia

  • Zaimportuj MultiScaleRoIAlign z torchvision.ops.
  • Utwórz instancję puli RoI, używając MultiScaleRoIAlign z parametrem featmap_names ustawionym na ["0"], output_size na 7 oraz sampling_ratio na 2.
  • Utwórz model Faster R-CNN, przekazując mu backbone, num_class dla klasyfikacji binarnej, anchor_generator oraz roi_pooler.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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=____,
)
Edytuj i uruchom kod