Backbone mit vortrainiertem Modell
Zeit, eine R-CNN-Architektur zu bauen! Du verwendest das Backbone des vortrainierten vgg16-Modells zur Merkmalsextraktion. Denk auch daran, die Ausgabedimension des Backbones zu speichern. Sie dient als Eingabedimension für die folgenden Blöcke: den Classifier und den Box-Regressor.
torch, torchvision, torch.nn als nn wurden importiert.
Das Modell wurde als vgg16 importiert, die Gewichte sind in VGG16_Weights gespeichert.
Diese Übung ist Teil des Kurses
Deep Learning für Bilder mit PyTorch
Anleitung zur Übung
- Lade die vortrainierten VGG16-Gewichte.
- Extrahiere
in_featuresaus der ersten Schicht desclassifier, indem du.children()als sequenziellen Block verwendest, und speichere es alsinput_dim. - Erstelle ein Backbone als sequenziellen Block mithilfe von
featuresund.children(). - Gib das Backbone-Modell aus.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# Load pretrained weights
vgg_model = vgg16(weights=____)
# Extract the input dimension
input_dim = nn.Sequential(*list(vgg_model.classifier.____()))[0].____
# Create a backbone with convolutional layers
backbone = nn.Sequential(*list(____))
# Print the backbone model
____