code: def test_consistency(self, batch_size, device, dtype):
      # create input data
      height, width = 2, 5
      dst_homo_src = torch.eye(3, device=device, dtype=dtype)
      dst_homo_src[..., 0, 0] = 0.5
      dst_homo_src[..., 1, 1] = 2.0
      dst_homo_src[..., 0, 2] = 1.0
      dst_homo_src[..., 1, 2] = 2.0
      dst_homo_src = dst_homo_src.expand(batch_size, -1, -1)
  
      denorm_homo = kornia.geometry.conversions.denormalize_homography(
          dst_homo_src, (height, width), (height, width)
      )
      norm_denorm_homo = (
          kornia.geometry.conversions.normalize_homography(
              denorm_homo, (height, width), (height, width)
          )
      )
      assert_close(dst_homo_src, norm_denorm_homo)
      norm_homo = kornia.geometry.conversions.normalize_homography(
          dst_homo_src, (height, width), (height, width)
      )
      denorm_norm_homo = (
          kornia.geometry.conversions.denormalize_homography(
              norm_homo, (height, width), (height, width)
          )
      )
      assert_close(dst_homo_src, denorm_norm_homo)
  
imports: import pytest
  import torch
  from torch.autograd import gradcheck
  import kornia
  import kornia.testing
  from kornia.testing import assert_close
  from kornia.utils.helpers import _torch_inverse_cast
label_desc: Use image node_id 6 for calling the TestHomographyWarper obj's underlying member method code with example usage: obj.test_consistency(batch_size, device, dtype) without return types