docstr: Asserts that `actual` and `expected` are close.
  
  Args:
      actual: Actual input.
      expected: Expected input.
      rtol: Relative tolerance.
      atol: Absolute tolerance.
      low_tolerance:
          This parameter allows to reduce tolerance. Half the decimal places.
          Example, 1e-4 -> 1e-2 or 1e-6 -> 1e-3
docstr_tok: ["Asserts","that","`","actual","`","and","`","expected","`","are","close",".","Args",":","actual",":","Actual","input",".","expected",":","Expected","input",".","rtol",":","Relative","tolerance",".","atol",":","Absolute","tolerance",".","low_tolerance",":","This","parameter","allows","to","reduce","tolerance",".","Half","the","decimal","places",".","Example",",","1e-4","-",">","1e-2","or","1e-6","-",">","1e-3"]
code: def assert_close(
      self,
      actual: Tensor,
      expected: Tensor,
      rtol: Optional[float] = None,
      atol: Optional[float] = None,
      low_tolerance: bool = False,
  ) -> None:
      """Asserts that `actual` and `expected` are close.
  
      Args:
          actual: Actual input.
          expected: Expected input.
          rtol: Relative tolerance.
          atol: Absolute tolerance.
          low_tolerance:
              This parameter allows to reduce tolerance. Half the decimal places.
              Example, 1e-4 -> 1e-2 or 1e-6 -> 1e-3
      """
      if hasattr(actual, "data"):
          actual = actual.data
      if hasattr(expected, "data"):
          expected = expected.data
  
      if "xla" in actual.device.type or "xla" in expected.device.type:
          rtol, atol = 1e-2, 1e-2
  
      if rtol is None and atol is None:
          actual_rtol, actual_atol = _DTYPE_PRECISIONS.get(
              actual.dtype, (0.0, 0.0)
          )
          expected_rtol, expected_atol = _DTYPE_PRECISIONS.get(
              expected.dtype, (0.0, 0.0)
          )
          rtol, atol = max(actual_rtol, expected_rtol), max(
              actual_atol, expected_atol
          )
  
          # halve the tolerance if `low_tolerance` is true
          rtol = math.sqrt(rtol) if low_tolerance else rtol
          atol = math.sqrt(atol) if low_tolerance else atol
  
      return assert_close(actual, expected, rtol=rtol, atol=atol)
  
imports: import importlib.util
  import math
  from abc import ABC, abstractmethod
  from copy import deepcopy
  from itertools import product
  from typing import Any, Callable, Dict, Iterator, Optional, Sequence, Tuple, TypeVar, Union
  import torch
  from torch.autograd import gradcheck
  from torch.testing import assert_close
  from kornia.core import Device, Dtype, Tensor, eye, tensor
label_desc: Use image node_id 7 for calling the BaseTester obj's underlying member method code with example usage: obj.assert_close(actual, expected, rtol, atol, low_tolerance) and returns: assert_close