Основа предобученной модели
Пришло время построить архитектуру R-CNN! Вы будете использовать основу предобученной модели vgg16 для извлечения признаков. Не забудьте сохранить выходную размерность основы — она понадобится как входная размерность для следующих блоков: классификатора и регрессора ограничивающих рамок.
torch, torchvision, torch.nn подключены под именем nn.
Модель импортирована как vgg16, веса хранятся в VGG16_Weights.
Это упражнение является частью курса
Глубокое обучение для работы с изображениями на PyTorch
Инструкции к упражнению
- Загрузите предобученные веса VGG16.
- Извлеките
in_featuresиз первого слояclassifier, используя.children()для создания последовательного блока, и сохраните результат в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
____