def METHOD_NAME(self):
    """Test PVT backbone."""
    # test pretrained image size
    with self.assertRaises(AssertionError):
        PyramidVisionTransformer(pretrain_img_size=(224, 224, 224))
    # test padding
    model = PyramidVisionTransformer(
        paddings=['corner', 'corner', 'corner', 'corner'])
    temp = torch.randn((1, 3, 32, 32))
    outs = model(temp)
    self.assertEqual(outs[0].shape, (1, 64, 8, 8))
    self.assertEqual(outs[1].shape, (1, 128, 4, 4))
    self.assertEqual(outs[2].shape, (1, 320, 2, 2))
    self.assertEqual(outs[3].shape, (1, 512, 1, 1))
    # Test absolute position embedding
    temp = torch.randn((1, 3, 224, 224))
    model = PyramidVisionTransformer(
        pretrain_img_size=224, use_abs_pos_embed=True)
    model.init_weights()
    model(temp)
    # Test normal inference
    temp = torch.randn((1, 3, 32, 32))
    model = PyramidVisionTransformer()
    outs = model(temp)
    self.assertEqual(outs[0].shape, (1, 64, 8, 8))
    self.assertEqual(outs[1].shape, (1, 128, 4, 4))
    self.assertEqual(outs[2].shape, (1, 320, 2, 2))
    self.assertEqual(outs[3].shape, (1, 512, 1, 1))
    # Test abnormal inference size
    temp = torch.randn((1, 3, 33, 33))
    model = PyramidVisionTransformer()
    outs = model(temp)
    self.assertEqual(outs[0].shape, (1, 64, 8, 8))
    self.assertEqual(outs[1].shape, (1, 128, 4, 4))
    self.assertEqual(outs[2].shape, (1, 320, 2, 2))
    self.assertEqual(outs[3].shape, (1, 512, 1, 1))
    # Test abnormal inference size
    temp = torch.randn((1, 3, 112, 137))
    model = PyramidVisionTransformer()
    outs = model(temp)
    self.assertEqual(outs[0].shape, (1, 64, 28, 34))
    self.assertEqual(outs[1].shape, (1, 128, 14, 17))
    self.assertEqual(outs[2].shape, (1, 320, 7, 8))
    self.assertEqual(outs[3].shape, (1, 512, 3, 4))