code: def test_smoke(
      self, shape, kernel_size, color_distance_type, device, dtype
  ):
      inp = torch.zeros(shape, device=device, dtype=dtype)
  
      # tensor sigmas -> with batch dim
      sigma_color = torch.rand(shape[0], device=device, dtype=dtype)
      sigma_space = torch.rand(shape[0], 2, device=device, dtype=dtype)
      actual_A = bilateral_blur(
          inp,
          kernel_size,
          sigma_color,
          sigma_space,
          "reflect",
          color_distance_type,
      )
      assert isinstance(actual_A, torch.Tensor)
      assert actual_A.shape == shape
  
      # float and tuple sigmas -> same sigmas across batch
      sigma_color_ = sigma_color[0].item()
      sigma_space_ = tuple(sigma_space[0].cpu().numpy())
      actual_B = bilateral_blur(
          inp,
          kernel_size,
          sigma_color_,
          sigma_space_,
          "reflect",
          color_distance_type,
      )
      assert isinstance(actual_B, torch.Tensor)
      assert actual_B.shape == shape
  
      self.assert_close(actual_A[0], actual_B[0])
  
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 1 for calling the TestBilateralBlur obj's underlying member method code with example usage: obj.test_smoke(shape, kernel_size, color_distance_type, device, dtype) without return types