预训练模型的骨干网络
现在是搭建 R-CNN 架构的时候了!您将使用 vgg16 预训练模型的骨干网络来做特征提取。还请记得保存骨干网络的输出形状,它将作为后续模块(分类器和边界框回归器)的输入形状。
已导入 torch、torchvision、torch.nn(简称 nn)。
模型已作为 vgg16 导入,其权重保存在 VGG16_Weights 中。
本练习是课程的一部分
使用 PyTorch 进行图像深度学习
练习说明
- 加载预训练的 VGG16 权重。
- 使用
.children()将classifier的第一层作为顺序块来访问,并提取其in_features,保存为input_dim。 - 使用
features和.children()构建一个顺序块作为骨干网络。 - 打印该骨干模型。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# 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
____