How to use different backbone using Faster-RCNN?

I want to use pretrained ResNext as a image feature extractor for my Faster-RCNN, as described in the tutorial.

class ResNextFeatures(nn.Module):
    def __init__(self):
        super(ResNextFeatures, self).__init__()
        base_model = torchvision.models.resnext50_32x4d(pretrained=True)
0
        self.seq1 = nn.Sequential(base_model.conv1, 
                                  base_model.bn1,
                                  base_model.relu,
                                  base_model.maxpool)
        self.seq2 = nn.Sequential(base_model.layer1, 
                                  base_model.layer2,
                                  base_model.layer3,
                                  base_model.layer4)
        
        self.out_channels = 2048
    
    def forward(self, x):
        x = self.seq1(x)
        x = self.seq2(x)

        return x

backbone = ResNextFeatures()
anchor_generator = AnchorGenerator(sizes=((8, 16 , 32, 64, 128, 256),),
                                   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=2,
                   rpn_anchor_generator=anchor_generator,
                   box_roi_pool=roi_pooler)

when I pass my input to the model as
loss_dict = model(images, targets)
I am getting an error

/usr/local/lib/python3.6/dist-packages/torch/nn/modules/module.py in __call__(self, *input, **kwargs)
    548             result = self._slow_forward(*input, **kwargs)
    549         else:
--> 550             result = self.forward(*input, **kwargs)
    551         for hook in self._forward_hooks.values():
    552             hook_result = hook(self, input, result)

/usr/local/lib/python3.6/dist-packages/torchvision/models/detection/generalized_rcnn.py in forward(self, images, targets)
     69             features = OrderedDict([('0', features)])
     70         proposals, proposal_losses = self.rpn(images, features, targets)
---> 71         detections, detector_losses = self.roi_heads(features, proposals, images.image_sizes, targets)
     72         detections = self.transform.postprocess(detections, images.image_sizes, original_image_sizes)
     73 

/usr/local/lib/python3.6/dist-packages/torch/nn/modules/module.py in __call__(self, *input, **kwargs)
    548             result = self._slow_forward(*input, **kwargs)
    549         else:
--> 550             result = self.forward(*input, **kwargs)
    551         for hook in self._forward_hooks.values():
    552             hook_result = hook(self, input, result)

/usr/local/lib/python3.6/dist-packages/torchvision/models/detection/roi_heads.py in forward(self, features, proposals, image_shapes, targets)
    752             matched_idxs = None
    753 
--> 754         box_features = self.box_roi_pool(features, proposals, image_shapes)
    755         box_features = self.box_head(box_features)
    756         class_logits, box_regression = self.box_predictor(box_features)

/usr/local/lib/python3.6/dist-packages/torch/nn/modules/module.py in __call__(self, *input, **kwargs)
    548             result = self._slow_forward(*input, **kwargs)
    549         else:
--> 550             result = self.forward(*input, **kwargs)
    551         for hook in self._forward_hooks.values():
    552             hook_result = hook(self, input, result)

/usr/local/lib/python3.6/dist-packages/torchvision/ops/poolers.py in forward(self, x, boxes, image_shapes)
    184         rois = self.convert_to_roi_format(boxes)
    185         if self.scales is None:
--> 186             self.setup_scales(x_filtered, image_shapes)
    187 
    188         scales = self.scales

/usr/local/lib/python3.6/dist-packages/torchvision/ops/poolers.py in setup_scales(self, features, image_shapes)
    157         # get the levels in the feature map by leveraging the fact that the network always
    158         # downsamples by a factor of 2 at each level.
--> 159         lvl_min = -torch.log2(torch.tensor(scales[0], dtype=torch.float32)).item()
    160         lvl_max = -torch.log2(torch.tensor(scales[-1], dtype=torch.float32)).item()
    161         self.scales = scales

IndexError: list index out of range