Модель Faster R-CNN
Ваша следующая задача — построить модель Faster R-CNN, способную обнаруживать объекты разных размеров на изображении. Для этого вы воспользуетесь удобным классом MultiScaleRoIAlign() из torchvision.ops.
Класс FasterRCNN уже импортирован из torchvision.models.detection. Объект anchor_generator из предыдущего упражнения доступен в вашем рабочем пространстве; библиотеки torch, torch.nn (как nn) и torchvision также импортированы.
Это упражнение является частью курса
Глубокое обучение для работы с изображениями на PyTorch
Инструкции к упражнению
- Импортируйте
MultiScaleRoIAlignизtorchvision.ops. - Создайте экземпляр RoI-пулера с помощью
MultiScaleRoIAlign, задав параметрfeatmap_namesравным["0"],output_size—7, аsampling_ratio—2. - Создайте модель Faster R-CNN, передав ей
backbone,num_classдля бинарной классификации,anchor_generatorиroi_pooler.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# Import MultiScaleRoIAlign
____
# Instantiate RoI pooler
roi_pooler = ____(
____,
____,
____,
)
mobilenet = torchvision.models.mobilenet_v2(weights="DEFAULT")
backbone = nn.Sequential(*list(mobilenet.features.children()))
backbone.out_channels = 1280
# Create Faster R-CNN model
model = ____(
backbone=____
num_classes=____,
anchor_generator=____,
box_roi_pool=____,
)