code: def assertTorchAllClose(
      self, tensor_1, tensor_2, rtol=1e-5, atol=1e-8, equal_nan=False
  ):
      for tensor in [tensor_1, tensor_2]:
          if not isinstance(tensor, torch.Tensor):
              raise AssertionError(
                  f"Expected tensor, not {tensor} of type {type(tensor)}"
              )
      if not torch.allclose(
          tensor_1, tensor_2, rtol=rtol, atol=atol, equal_nan=equal_nan
      ):
          raise AssertionError(f"{tensor_1} is not close to {tensor_2}")
  
imports: import os
  import unittest
  from functools import wraps
  import torch
  from classy_vision.hooks import ClassyHook
  from classy_vision.tasks import ClassyTask
  from classy_vision.trainer import ClassyTrainer
label_desc: Use image node_id 1 for calling the ClassyTestCase obj's underlying member method code with example usage: obj.assertTorchAllClose(tensor_1, tensor_2, rtol, atol, equal_nan) without return types