class_docstr: A Runner for evaluation Botorch BaseTestProblems.
  Given a trial the Runner will evaluate the BaseTestProblem.forward method for each
  arm in the trial, as well as return some metadata about the underlying Botorch
  problem such as the noise_std. We compute the full result on the Runner (as opposed
  to the Metric as is typical in synthetic test problems) because the BoTorch problem
  computes all metrics in one stacked tensor in the MOO case, and we wish to avoid
  recomputation per metric.
class_docstr_tok: ["A","Runner","for","evaluation","Botorch","BaseTestProblems",".","Given","a","trial","the","Runner","will","evaluate","the","BaseTestProblem.forward","method","for","each","arm","in","the","trial",",","as","well","as","return","some","metadata","about","the","underlying","Botorch","problem","such","as","the","noise_std",".","We","compute","the","full","result","on","the","Runner","(","as","opposed","to","the","Metric","as","is","typical","in","synthetic","test","problems",")","because","the","BoTorch","problem","computes","all","metrics","in","one","stacked","tensor","in","the","MOO","case",",","and","we","wish","to","avoid","recomputation","per","metric","."]
docstr: Serialize the properties needed to initialize the runner.
  Used for storage.
docstr_tok: ["Serialize","the","properties","needed","to","initialize","the","runner",".","Used","for","storage","."]
code: def serialize_init_args(cls, obj: Any) -> Dict[str, Any]:
      """Serialize the properties needed to initialize the runner.
      Used for storage.
      """
      runner = checked_cast(BotorchTestProblemRunner, obj)
  
      return {
          "test_problem_module": runner._test_problem_class.__module__,
          "test_problem_class_name": runner._test_problem_class.__name__,
          "test_problem_kwargs": runner._test_problem_kwargs,
          "modified_bounds": runner._modified_bounds,
      }
  
imports: import importlib
  from typing import Any, Dict, Iterable, List, Optional, Set, Tuple, Type
  import torch
  from ax.core.base_trial import BaseTrial, TrialStatus
  from ax.core.runner import Runner
  from ax.utils.common.base import Base
  from ax.utils.common.equality import equality_typechecker
  from ax.utils.common.serialization import TClassDecoderRegistry, TDecoderRegistry
  from ax.utils.common.typeutils import checked_cast
  from botorch.test_functions.base import BaseTestProblem, ConstrainedBaseTestProblem
  from botorch.utils.transforms import normalize, unnormalize
  from torch import Tensor
label_desc: Use image node_id 6 for calling the BotorchTestProblemRunner obj's underlying member method code with example usage: obj.serialize_init_args(cls, obj) and returns: dict