Schnelleres R-CNN-Modell
Als Nächstes musst du ein Faster-R-CNN-Modell erstellen, das Objekte unterschiedlicher Größe in einem Bild erkennen kann. Für diese Aufgabe wirst du die praktische Klasse „ MultiScaleRoIAlign()
” von torchvision.ops
verwenden.
FasterRCNN
Die Klasse wurde von torchvision.models.detection
importiert. torchvision
Deine Datei „ anchor_generator
” aus der letzten Übung ist jetzt in deinem Arbeitsbereich verfügbar und „ torch
”, „ torch.nn
” und „ nn
” wurden importiert.
Diese Übung ist Teil des Kurses
Deep Learning für Bilder mit PyTorch
Anleitung zur Übung
- Importiere
MultiScaleRoIAlign
austorchvision.ops
. - Instanziere den RoI-Pooler mit „
MultiScaleRoIAlign
“, wobei „featmap_names
“ auf „["0"]
“, „output_size
“ auf „7
“ und „sampling_ratio
“ auf „2
“ gesetzt sind. - Erstell das Faster R-CNN-Modell, indem du die folgenden Dateien übergibst: „
backbone
“, „num_class
“ für eine binäre Klassifizierung, „anchor_generator
“ und „roi_pooler
“.
Interaktive Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
# 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=____,
)