@@ -372,7 +372,7 @@ def fasterrcnn_resnet50_fpn(pretrained=False, progress=True,
372
372
373
373
374
374
def fasterrcnn_mobilenet_v3_large (pretrained = False , progress = True , num_classes = 91 , pretrained_backbone = True ,
375
- trainable_backbone_layers = None , ** kwargs ):
375
+ trainable_backbone_layers = None , min_size = 320 , max_size = 640 , ** kwargs ):
376
376
"""
377
377
Constructs a Faster R-CNN model with a MobileNetV3-Large backbone. It works similarly
378
378
to Faster R-CNN with ResNet-50 FPN backbone. See `fasterrcnn_resnet50_fpn` for more details.
@@ -391,6 +391,8 @@ def fasterrcnn_mobilenet_v3_large(pretrained=False, progress=True, num_classes=9
391
391
pretrained_backbone (bool): If True, returns a model with backbone pre-trained on Imagenet
392
392
trainable_backbone_layers (int): number of trainable (not frozen) resnet layers starting from final block.
393
393
Valid values are between 0 and 6, with 6 meaning all backbone layers are trainable.
394
+ min_size (int): minimum size of the image to be rescaled before feeding it to the backbone
395
+ max_size (int): maximum size of the image to be rescaled before feeding it to the backbone
394
396
"""
395
397
trainable_backbone_layers = _validate_trainable_layers (
396
398
pretrained or pretrained_backbone , trainable_backbone_layers , 6 , 3 )
@@ -400,19 +402,19 @@ def fasterrcnn_mobilenet_v3_large(pretrained=False, progress=True, num_classes=9
400
402
backbone = mobilenet_backbone ("mobilenet_v3_large" , pretrained_backbone , False ,
401
403
trainable_layers = trainable_backbone_layers )
402
404
403
- anchor_sizes = ((32 , 64 , 128 , 256 , 512 ), )
405
+ anchor_sizes = ((16 , 32 , 64 , 128 , 256 ), )
404
406
aspect_ratios = ((0.5 , 1.0 , 2.0 ), )
405
407
406
408
model = FasterRCNN (backbone , num_classes , rpn_anchor_generator = AnchorGenerator (anchor_sizes , aspect_ratios ),
407
- ** kwargs )
409
+ min_size = min_size , max_size = max_size , ** kwargs )
408
410
if pretrained :
409
411
state_dict = load_state_dict_from_url (model_urls ['fasterrcnn_mobilenet_v3_large_coco' ], progress = progress )
410
412
model .load_state_dict (state_dict )
411
413
return model
412
414
413
415
414
416
def fasterrcnn_mobilenet_v3_large_fpn (pretrained = False , progress = True , num_classes = 91 , pretrained_backbone = True ,
415
- trainable_backbone_layers = None , ** kwargs ):
417
+ trainable_backbone_layers = None , min_size = 320 , max_size = 640 , ** kwargs ):
416
418
"""
417
419
Constructs a Faster R-CNN model with a MobileNetV3-Large FPN backbone. It works similarly
418
420
to Faster R-CNN with ResNet-50 FPN backbone. See `fasterrcnn_resnet50_fpn` for more details.
@@ -431,6 +433,8 @@ def fasterrcnn_mobilenet_v3_large_fpn(pretrained=False, progress=True, num_class
431
433
pretrained_backbone (bool): If True, returns a model with backbone pre-trained on Imagenet
432
434
trainable_backbone_layers (int): number of trainable (not frozen) resnet layers starting from final block.
433
435
Valid values are between 0 and 6, with 6 meaning all backbone layers are trainable.
436
+ min_size (int): minimum size of the image to be rescaled before feeding it to the backbone
437
+ max_size (int): maximum size of the image to be rescaled before feeding it to the backbone
434
438
"""
435
439
trainable_backbone_layers = _validate_trainable_layers (
436
440
pretrained or pretrained_backbone , trainable_backbone_layers , 6 , 3 )
@@ -440,11 +444,11 @@ def fasterrcnn_mobilenet_v3_large_fpn(pretrained=False, progress=True, num_class
440
444
backbone = mobilenet_backbone ("mobilenet_v3_large" , pretrained_backbone , True ,
441
445
trainable_layers = trainable_backbone_layers )
442
446
443
- anchor_sizes = ((32 , 64 , 128 , 256 , 512 , ), ) * 3
447
+ anchor_sizes = ((16 , 32 , 64 , 128 , 256 , ), ) * 3
444
448
aspect_ratios = ((0.5 , 1.0 , 2.0 ),) * len (anchor_sizes )
445
449
446
450
model = FasterRCNN (backbone , num_classes , rpn_anchor_generator = AnchorGenerator (anchor_sizes , aspect_ratios ),
447
- ** kwargs )
451
+ min_size = min_size , max_size = max_size , ** kwargs )
448
452
if pretrained :
449
453
state_dict = load_state_dict_from_url (model_urls ['fasterrcnn_mobilenet_v3_large_fpn_coco' ], progress = progress )
450
454
model .load_state_dict (state_dict )
0 commit comments