def METHOD_NAME(self):
    # square heatmap
    head = IntegralRegressionHead(
        in_channels=32, in_featuremap_size=(8, 8), num_joints=17)
    self.assertEqual(head.linspace_x.shape, (1, 1, 1, 64))
    self.assertEqual(head.linspace_y.shape, (1, 1, 64, 1))
    self.assertIsNone(head.decoder)
    # rectangle heatmap
    head = IntegralRegressionHead(
        in_channels=32, in_featuremap_size=(6, 8), num_joints=17)
    self.assertEqual(head.linspace_x.shape, (1, 1, 1, 6 * 8))
    self.assertEqual(head.linspace_y.shape, (1, 1, 8 * 8, 1))
    self.assertIsNone(head.decoder)
    # 2 deconv + 1x1 conv
    head = IntegralRegressionHead(
        in_channels=32,
        in_featuremap_size=(6, 8),
        num_joints=17,
        deconv_out_channels=(32, 32),
        deconv_kernel_sizes=(4, 4),
        conv_out_channels=(32, ),
        conv_kernel_sizes=(1, ),
    )
    self.assertEqual(head.linspace_x.shape, (1, 1, 1, 6 * 4))
    self.assertEqual(head.linspace_y.shape, (1, 1, 8 * 4, 1))
    self.assertIsNone(head.decoder)
    # 2 deconv + w/o 1x1 conv
    head = IntegralRegressionHead(
        in_channels=32,
        in_featuremap_size=(6, 8),
        num_joints=17,
        deconv_out_channels=(32, 32),
        deconv_kernel_sizes=(4, 4),
        conv_out_channels=(32, ),
        conv_kernel_sizes=(1, ),
        final_layer=None,
    )
    self.assertEqual(head.linspace_x.shape, (1, 1, 1, 6 * 4))
    self.assertEqual(head.linspace_y.shape, (1, 1, 8 * 4, 1))
    self.assertIsNone(head.decoder)
    # w/o deconv and 1x1 conv
    head = IntegralRegressionHead(
        in_channels=32,
        in_featuremap_size=(6, 8),
        num_joints=17,
        deconv_out_channels=tuple(),
        deconv_kernel_sizes=tuple(),
        final_layer=None,
    )
    self.assertEqual(head.linspace_x.shape, (1, 1, 1, 6))
    self.assertEqual(head.linspace_y.shape, (1, 1, 8, 1))
    self.assertIsNone(head.decoder)
    # w/o deconv and 1x1 conv
    head = IntegralRegressionHead(
        in_channels=32,
        in_featuremap_size=(6, 8),
        num_joints=17,
        deconv_out_channels=None,
        deconv_kernel_sizes=None,
        final_layer=None,
    )
    self.assertEqual(head.linspace_x.shape, (1, 1, 1, 6))
    self.assertEqual(head.linspace_y.shape, (1, 1, 8, 1))
    self.assertIsNone(head.decoder)
    # w/ decoder
    head = IntegralRegressionHead(
        in_channels=1024,
        in_featuremap_size=(6, 8),
        num_joints=17,
        decoder=dict(type='RegressionLabel', input_size=(192, 256)),
    )
    self.assertIsNotNone(head.decoder)