Szkielet wstępnie wytrenowanego modelu
Czas zbudować architekturę R-CNN! Wykorzystasz szkielet (backbone) wstępnie wytrenowanego modelu vgg16 do ekstrakcji cech. Pamiętaj też, aby zapisać kształt wyjściowy szkieletu – posłuży on jako kształt wejściowy dla kolejnych bloków: klasyfikatora i regresoratu ramki.
Zaimportowano: torch, torchvision, torch.nn jako nn.
Model został zaimportowany jako vgg16, a wagi są przechowywane w VGG16_Weights.
To ćwiczenie jest częścią kursu
Głębokie uczenie dla obrazów z PyTorch
Instrukcje do ćwiczenia
- Wczytaj wstępnie wytrenowane wagi VGG16.
- Wyodrębnij
in_featuresz pierwszej warstwyclassifier, używając.children()jako bloku sekwencyjnego, i zapisz wynik jakoinput_dim. - Utwórz szkielet (backbone) jako blok sekwencyjny, korzystając z
featuresi.children(). - Wyświetl model szkieletu.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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
____