Páteřní síť (backbone) předtrénovaného modelu
Nastal čas postavit architekturu R-CNN! Jako základ pro extrakci příznaků použiješ páteřní síť (backbone) předtrénovaného modelu vgg16. Nezapomeň si také uložit výstupní tvar páteřní sítě – ten poslouží jako vstupní tvar pro následující bloky: klasifikátor a regressor ohraničujících rámečků.
torch, torchvision a torch.nn jako nn jsou již importovány.
Model byl importován jako vgg16 s váhami uloženými v VGG16_Weights.
Toto cvičení je součástí kurzu
Deep Learning pro obrázky s PyTorchem
Pokyny k cvičení
- Načti předtrénované váhy VGG16.
- Pomocí
.children()vytvoř sekvenční blok zclassifieru, extrahujin_featuresz jeho první vrstvy a ulož je jakoinput_dim. - Vytvoř páteřní síť jako sekvenční blok pomocí
featuresa.children(). - Vypiš model páteřní sítě.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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
____