code: def test_resnet31(self):
      resnet_31 = ResNet(
          in_channels=3,
          stem_channels=[64, 128],
          block_cfgs=dict(type="BasicBlock"),
          arch_layers=[1, 2, 5, 3],
          arch_channels=[256, 256, 512, 512],
          strides=[1, 1, 1, 1],
          plugins=[
              dict(
                  cfg=dict(
                      type="Maxpool2d", kernel_size=2, stride=(2, 2)
                  ),
                  stages=(True, True, False, False),
                  position="before_stage",
              ),
              dict(
                  cfg=dict(
                      type="Maxpool2d",
                      kernel_size=(2, 1),
                      stride=(2, 1),
                  ),
                  stages=(False, False, True, False),
                  position="before_stage",
              ),
              dict(
                  cfg=dict(
                      type="ConvModule",
                      kernel_size=3,
                      stride=1,
                      padding=1,
                      norm_cfg=dict(type="BN"),
                      act_cfg=dict(type="ReLU"),
                  ),
                  stages=(True, True, True, True),
                  position="after_stage",
              ),
          ],
      )
      self.assertEqual(
          resnet_31(self.img).shape, torch.Size([1, 512, 4, 25])
      )
  
file_path: mmocr/tests/test_models/test_textrecog/test_backbones/test_resnet.py
imports: from unittest import TestCase
  import torch
  from mmengine.registry import init_default_scope
  from mmocr.models.textrecog.backbones import ResNet
label_desc: Use image node_id 5 for calling the TestResNet obj's underlying member method code with example usage: obj.test_resnet31() without return types