code: def test_gradcheck(self, device):
      img = torch.rand(1, 2, 5, 4, device=device)
      sigma_color = torch.rand(1, device=device)
      sigma_space = torch.rand(1, 2, device=device)
      img = tensor_to_gradcheck_var(img)  # to var
      sigma_color = tensor_to_gradcheck_var(sigma_color)
      sigma_space = tensor_to_gradcheck_var(sigma_space)
  
      self.gradcheck(bilateral_blur, (img, 3, 1, (1, 1)))
      self.gradcheck(bilateral_blur, (img, 3, sigma_color, (1, 1)))
      self.gradcheck(bilateral_blur, (img, 3, 1, sigma_space))
      self.gradcheck(bilateral_blur, (img, 3, sigma_color, sigma_space))
  
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 5 for calling the TestBilateralBlur obj's underlying member method code with example usage: obj.test_gradcheck(device) without return types