code: def test_subset_computes_active_downsampling_function_batch(self):
      a = torch.tensor(
          [[0.1, 0.2, 0.2], [0.3, 0.4, 0.2], [0.5, 0.5, 0.5]]
      ).view(3, 3, 1)
      a_p = torch.tensor(
          [[0.1, 0.2, 0.2], [0.3, 0.4, 0.2], [0.5, 0.5, 0.5]]
      ).view(3, 3, 1)
      a = torch.cat((a, a_p), 2)
      b = torch.tensor(
          [[0.5, 0.6, 0.1], [0.7, 0.8, 0.2], [0.6, 0.6, 0.5]]
      ).view(3, 3, 1)
      power = 1
      offset = 1
      kernel = DownsamplingKernel(
          batch_shape=torch.Size([3]), active_dims=[0]
      )
      kernel.initialize(power=power, offset=offset)
      kernel.eval()
      res = kernel(a, b).to_dense()
  
      actual = torch.zeros(3, 3, 3)
  
      diff = torch.tensor(
          [[0.45, 0.36, 0.81], [0.4, 0.32, 0.72], [0.4, 0.32, 0.72]]
      )
      actual[0, :, :] = offset + diff.pow(1 + power)
  
      diff = torch.tensor(
          [[0.21, 0.14, 0.56], [0.18, 0.12, 0.48], [0.24, 0.16, 0.64]]
      )
      actual[1, :, :] = offset + diff.pow(1 + power)
  
      diff = torch.tensor(
          [[0.2, 0.2, 0.25], [0.2, 0.2, 0.25], [0.2, 0.2, 0.25]]
      )
      actual[2, :, :] = offset + diff.pow(1 + power)
      self.assertLess(torch.linalg.norm(res - actual), 1e-5)
  
imports: import torch
  from botorch.models.kernels.downsampling import DownsamplingKernel
  from botorch.utils.testing import BotorchTestCase
  from gpytorch.priors.torch_priors import GammaPrior, NormalPrior
  from gpytorch.test.base_kernel_test_case import BaseKernelTestCase
label_desc: Use image node_id 9 for calling the TestDownsamplingKernel obj's underlying member method code with example usage: obj.test_subset_computes_active_downsampling_function_batch() without return types