code: def test_gradcheck(self, device, dtype):
      torch.random.manual_seed(4)
      bs, channels, height, width = 1, 1, 11, 11
      inputs = torch.rand(
          bs, channels, height, width, device=device, dtype=dtype
      )
      inputs = tensor_to_gradcheck_var(inputs)
  
      def grad_rot(inpt, a, b, c):
          rot = rotate(
              inpt, torch.tensor(30.0, dtype=inpt.dtype, device=device)
          )
          return enhance.equalize_clahe(rot, a, b, c)
  
      assert gradcheck(
          grad_rot,
          (inputs, 40.0, (2, 2), True),
          nondet_tol=1e-4,
          raise_exception=True,
          fast_mode=True,
      )
  
imports: from typing import Tuple
  import pytest
  import torch
  from torch.autograd import gradcheck
  from kornia import enhance
  from kornia.geometry import rotate
  from kornia.testing import BaseTester, tensor_to_gradcheck_var
label_desc: Use image node_id 7 for calling the TestEqualization obj's underlying member method code with example usage: obj.test_gradcheck(device, dtype) and returns: enhance