code: def get_torch_test_data(
      dtype: torch.dtype = torch.float,
      cuda: bool = False,
      constant_noise: bool = True,
      task_features: Optional[List[int]] = None,
      offset: float = 0.0,
  ) -> Tuple[
      List[torch.Tensor],
      List[torch.Tensor],
      List[torch.Tensor],
      List[Tuple[float, float]],
      List[int],
      List[str],
      List[str],
  ]:
      tkwargs: Dict[str, Any] = {
          "device": torch.device("cuda" if cuda else "cpu"),
          "dtype": dtype,
      }
      Xs = [
          torch.tensor(
              [
                  [1.0 + offset, 2.0 + offset, 3.0 + offset],
                  [2.0 + offset, 3.0 + offset, 4.0 + offset],
              ],
              **tkwargs,
          )
      ]
      Ys = [torch.tensor([[3.0 + offset], [4.0 + offset]], **tkwargs)]
      Yvars = [
          torch.tensor([[0.0 + offset], [2.0 + offset]], **tkwargs)
      ]
      if constant_noise:
          Yvars[0].fill_(1.0)
      bounds = [
          (0.0 + offset, 1.0 + offset),
          (1.0 + offset, 4.0 + offset),
          (2.0 + offset, 5.0 + offset),
      ]
      feature_names = ["x1", "x2", "x3"]
      task_features = [] if task_features is None else task_features
      metric_names = ["y"]
      return (
          Xs,
          Ys,
          Yvars,
          bounds,
          task_features,
          feature_names,
          metric_names,
      )
  
imports: from __future__ import annotations
  from typing import Any, Dict, List, Optional, Tuple
  import torch
label_desc: Use image node_id 1 for calling a global function with example usage: get_torch_test_data(dtype, cuda, constant_noise, task_features, offset) and returns: Xs,  Ys,  Yvars,  bounds,  task_features,  feature_names,  metric_names