code: def setUp(self):
      super().setUp()
      with torch.random.fork_rng():
          torch.random.manual_seed(0)
          train_X = torch.rand(5, 2)
          train_Y = torch.randn(5, 2)
  
      self.models = []
      for num_outputs in (1, 2):
          self.models.append(
              SingleTaskGP(
                  train_X=train_X,
                  train_Y=train_Y[:, :num_outputs],
                  input_transform=Normalize(d=2),
                  outcome_transform=Standardize(m=num_outputs),
              )
          )
  
          self.models.append(
              SingleTaskVariationalGP(
                  train_X=train_X,
                  train_Y=train_Y[:, :num_outputs],
                  input_transform=Normalize(d=2),
                  outcome_transform=Standardize(m=num_outputs),
              )
          )
  
imports: from __future__ import annotations
  from unittest.mock import patch
  import torch
  from botorch.models import SingleTaskGP, SingleTaskVariationalGP
  from botorch.models.model_list_gp_regression import ModelListGP
  from botorch.models.transforms.input import Normalize
  from botorch.models.transforms.outcome import Standardize
  from botorch.sampling.pathwise.utils import get_input_transform, get_output_transform, get_train_inputs, get_train_targets, InverseLengthscaleTransform, OutcomeUntransformer
  from botorch.utils.context_managers import delattr_ctx
  from botorch.utils.testing import BotorchTestCase
  from gpytorch.kernels import MaternKernel, ScaleKernel
label_desc: Use image node_id 1 for calling the TestGetters obj's underlying member method code with example usage: obj.setUp() without return types