code: def test_dynamo(
      self,
      kernel_size,
      color_distance_type,
      device,
      dtype,
      torch_optimizer,
  ):
      inpt = torch.rand(2, 3, 8, 8, device=device, dtype=dtype)
      guide = torch.rand(2, 3, 8, 8, device=device, dtype=dtype)
      op = JointBilateralBlur(
          kernel_size,
          1,
          (1, 1),
          color_distance_type=color_distance_type,
      )
      op_optimized = torch_optimizer(op)
  
      self.assert_close(op(inpt, guide), op_optimized(inpt, guide))
  
      sigma_color = torch.rand(1, device=device, dtype=dtype)
      sigma_space = torch.rand(1, 2, device=device, dtype=dtype)
      op = JointBilateralBlur(
          kernel_size,
          sigma_color,
          sigma_space,
          color_distance_type=color_distance_type,
      )
      op_optimized = torch_optimizer(op)
  
      self.assert_close(op(inpt, guide), op_optimized(inpt, guide))
  
imports: import pytest
  import torch
  from kornia.filters import BilateralBlur, JointBilateralBlur, bilateral_blur, joint_bilateral_blur
  from kornia.testing import BaseTester, tensor_to_gradcheck_var
label_desc: Use image node_id 8 for calling the TestJointBilateralBlur obj's underlying member method code with example usage: obj.test_dynamo(kernel_size, color_distance_type, device, dtype, torch_optimizer) without return types