code: def test_cold_diag_norm(self, device, dtype):
      sample = torch.tensor(
          [
              [
                  [
                      [0.0, 0.0, 0.0, 0.0, 0.0],
                      [0.0, 1.0, 0.0, 0.0, 0.0],
                      [0.0, 0.0, 0.0, 0.0, 0.0],
                      [0.0, 0.0, 0.0, 1.0, 0.0],
                      [0.0, 0.0, 0.0, 0.0, 0.0],
                  ]
              ]
          ],
          device=device,
          dtype=dtype,
      )
      softargmax = kornia.geometry.subpix.ConvSoftArgmax2d(
          (3, 3),
          (2, 2),
          (0, 0),
          temperature=0.05,
          normalized_coordinates=True,
          output_value=True,
      )
      expected_val = torch.tensor(
          [[[[1.0, 0.0], [0.0, 1.0]]]], device=device, dtype=dtype
      )
      expected_coord = torch.tensor(
          [[[[[-0.5, 0.5], [-0.5, 0.5]], [[-0.5, -0.5], [0.5, 0.5]]]]],
          device=device,
          dtype=dtype,
      )
      coords, val = softargmax(sample)
      assert_close(val, expected_val, atol=1e-4, rtol=1e-4)
      assert_close(coords, expected_coord, atol=1e-4, rtol=1e-4)
  
imports: import torch
  from torch.autograd import gradcheck
  from torch.nn.functional import mse_loss
  import kornia
  import kornia.testing
  from kornia.geometry.subpix.spatial_soft_argmax import _get_center_kernel2d, _get_center_kernel3d
  from kornia.testing import assert_close
label_desc: Use image node_id 8 for calling the TestConvSoftArgmax2d obj's underlying member method code with example usage: obj.test_cold_diag_norm(device, dtype) without return types