Backbone van een voorgetraind model
Tijd om een R-CNN-architectuur te bouwen! Je gebruikt de backbone van het voorgetrainde vgg16-model voor feature-extractie. Sla ook de uitvoervorm (output shape) van de backbone op; die gebruik je als invoervorm voor de volgende blokken: de classifier en de box regressor.
torch, torchvision, torch.nn als nn zijn geïmporteerd.
Het model is geïmporteerd als vgg16 met de gewichten opgeslagen in VGG16_Weights.
Deze oefening maakt deel uit van de cursus
Deep Learning voor afbeeldingen met PyTorch
Oefeninstructies
- Laad de voorgetrainde VGG16-gewichten.
- Haal
in_featuresuit de eerste laag van declassifiermet.children()als sequential-blok en sla dit op alsinput_dim. - Maak een backbone als sequential-blok met
featuresen.children(). - Print het backbone-model.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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
____