code: def test_DgsmGpSampling(self) -> None:
      bounds = torch.tensor([(0.0, 1.0) for _ in range(2)]).t()
      sensitivity_sampling = GpDGSMGpSampling(
          self.model,
          bounds=bounds,
          num_mc_samples=10,
          num_gp_samples=10,
      )
      gradients_measure = sensitivity_sampling.gradient_measure()
      gradients_absolute_measure = (
          sensitivity_sampling.gradient_absolute_measure()
      )
      gradients_square_measure = (
          sensitivity_sampling.gradients_square_measure()
      )
      self.assertIsInstance(gradients_measure, Tensor)
      self.assertIsInstance(gradients_absolute_measure, Tensor)
      self.assertIsInstance(gradients_square_measure, Tensor)
      self.assertEqual(gradients_measure.shape, torch.Size([2, 3]))
      self.assertEqual(
          gradients_absolute_measure.shape, torch.Size([2, 3])
      )
      self.assertEqual(
          gradients_square_measure.shape, torch.Size([2, 3])
      )
  
      sensitivity_sampling_bootstrap = GpDGSMGpSampling(
          self.model,
          bounds=bounds,
          num_mc_samples=10,
          num_gp_samples=10,
          num_bootstrap_samples=10,
      )
      gradients_measure = (
          sensitivity_sampling_bootstrap.gradient_measure()
      )
      gradients_absolute_measure = (
          sensitivity_sampling_bootstrap.gradient_absolute_measure()
      )
      gradients_square_measure = (
          sensitivity_sampling_bootstrap.gradients_square_measure()
      )
      self.assertIsInstance(gradients_measure, Tensor)
      self.assertIsInstance(gradients_absolute_measure, Tensor)
      self.assertIsInstance(gradients_square_measure, Tensor)
      self.assertEqual(gradients_measure.shape, torch.Size([2, 5]))
      self.assertEqual(
          gradients_absolute_measure.shape, torch.Size([2, 5])
      )
      self.assertEqual(
          gradients_square_measure.shape, torch.Size([2, 5])
      )
  
imports: from typing import cast
  from unittest.mock import patch, PropertyMock
  import torch
  from ax.modelbridge.base import ModelBridge
  from ax.modelbridge.registry import Models
  from ax.modelbridge.torch import TorchModelBridge
  from ax.models.torch.botorch import BotorchModel
  from ax.utils.common.testutils import TestCase
  from ax.utils.sensitivity.derivative_gp import posterior_derivative
  from ax.utils.sensitivity.derivative_measures import GpDGSMGpMean, GpDGSMGpSampling
  from ax.utils.sensitivity.sobol_measures import _get_model_per_metric, ax_parameter_sens, compute_sobol_indices_from_model_list, ProbitLinkMean, SobolSensitivityGPMean, SobolSensitivityGPSampling
  from ax.utils.testing.core_stubs import get_branin_experiment
  from botorch.models.gpytorch import BatchedMultiOutputGPyTorchModel, GPyTorchModel
  from botorch.models.model_list_gp_regression import ModelListGP
  from gpytorch.distributions import MultivariateNormal
  from torch import Tensor
label_desc: Use image node_id 3 for calling the SensitivityAnanlysisTest obj's underlying member method code with example usage: obj.test_DgsmGpSampling() without return types