无法更改 Faster RCNN 中的锚点
Can't change the Anchors in Faster RCNN
我是 pytorch 的新手,我试图在 pytorch 的 Faster RCNN 网络上放置一些自定义锚点。基本上,我使用的是 resnet50 backbone,当我尝试放置锚点时,出现不匹配错误。
这是我的代码:
backbone = torchvision.models.detection.backbone_utils.resnet_fpn_backbone('resnet50', True)
backbone.out_channels = 256
anchor_generator = AnchorGenerator(sizes=((4, 8, 16, 32, 64, 128),),
aspect_ratios=((0.5, 1.0, 2.0),))
roi_pooler = torchvision.ops.MultiScaleRoIAlign(featmap_names=[0],
output_size=7,
sampling_ratio=2)
model = FasterRCNN(backbone,
num_classes=10,
rpn_anchor_generator=anchor_generator,
box_roi_pool=roi_pooler)
我得到的错误如下:形状“[1440000, -1]”对于大小为 7674336 的输入无效。
好吧,在深入研究 PyTorch Faster RCNN 的源代码后,我发现了它们是如何初始化锚点的:
anchor_sizes = ((32,), (64,), (128,), (256,), (512,))
aspect_ratios = ((0.5, 1.0, 2.0),) * len(anchor_sizes)
rpn_anchor_generator = AnchorGenerator(
anchor_sizes, aspect_ratios
)
按照我的自定义锚点的相同模式,代码将是:
anchor_sizes = ((4,), (8,), (16,), (32,), (64,), (128,))
aspect_ratios = ((0.5, 1.0, 2.0),) * len(anchor_sizes)
rpn_anchor_generator = AnchorGenerator(
anchor_sizes, aspect_ratios
)
它会起作用的!
我是 pytorch 的新手,我试图在 pytorch 的 Faster RCNN 网络上放置一些自定义锚点。基本上,我使用的是 resnet50 backbone,当我尝试放置锚点时,出现不匹配错误。
这是我的代码:
backbone = torchvision.models.detection.backbone_utils.resnet_fpn_backbone('resnet50', True)
backbone.out_channels = 256
anchor_generator = AnchorGenerator(sizes=((4, 8, 16, 32, 64, 128),),
aspect_ratios=((0.5, 1.0, 2.0),))
roi_pooler = torchvision.ops.MultiScaleRoIAlign(featmap_names=[0],
output_size=7,
sampling_ratio=2)
model = FasterRCNN(backbone,
num_classes=10,
rpn_anchor_generator=anchor_generator,
box_roi_pool=roi_pooler)
我得到的错误如下:形状“[1440000, -1]”对于大小为 7674336 的输入无效。
好吧,在深入研究 PyTorch Faster RCNN 的源代码后,我发现了它们是如何初始化锚点的:
anchor_sizes = ((32,), (64,), (128,), (256,), (512,))
aspect_ratios = ((0.5, 1.0, 2.0),) * len(anchor_sizes)
rpn_anchor_generator = AnchorGenerator(
anchor_sizes, aspect_ratios
)
按照我的自定义锚点的相同模式,代码将是:
anchor_sizes = ((4,), (8,), (16,), (32,), (64,), (128,))
aspect_ratios = ((0.5, 1.0, 2.0),) * len(anchor_sizes)
rpn_anchor_generator = AnchorGenerator(
anchor_sizes, aspect_ratios
)
它会起作用的!