class_docstr: The result of a single optimization loop from one
  (BenchmarkProblem, BenchmarkMethod) pair.
class_docstr_tok: ["The","result","of","a","single","optimization","loop","from","one","(","BenchmarkProblem",",","BenchmarkMethod",")","pair","."]
code: def __post_init__(self) -> None:
      if (
          self.experiment is not None
          and self.experiment_storage_id is not None
      ):
          raise ValueError(
              "Cannot specify both an `experiment` and an "
              "`experiment_storage_id` for the experiment."
          )
      if self.experiment is None and self.experiment_storage_id is None:
          raise ValueError(
              "Must provide an `experiment` or `experiment_storage_id` "
              "to construct a BenchmarkResult."
          )
  
file_path: Ax/ax/benchmark/benchmark_result.py
imports: from dataclasses import dataclass
  from typing import Dict, Iterable, List, Optional
  import numpy
  from ax.core.experiment import Experiment
  from ax.utils.common.base import Base
  from numpy import nanmean, nanquantile, ndarray
  from pandas import DataFrame
  from scipy.stats import sem
label_desc: Use image node_id 1 for calling the BenchmarkResult obj's underlying member method code with example usage: obj.__post_init__() without return types