class_docstr: Trial that only has one attached arm and no arm weights.
  
  Args:
      experiment: Experiment, to which this trial is attached.
      generator_run: GeneratorRun, associated with this trial.
          Trial has only one generator run (of just one arm)
          attached to it. This can also be set later through `add_arm`
          or `add_generator_run`, but a trial's associated genetor run is
          immutable once set.
      trial_type: Type of this trial, if used in MultiTypeExperiment.
      ttl_seconds: If specified, trials will be considered failed after
          this many seconds since the time the trial was ran, unless the
          trial is completed before then. Meant to be used to detect
          'dead' trials, for which the evaluation process might have
          crashed etc., and which should be considered failed after
          their 'time to live' has passed.
      index: If specified, the trial's index will be set accordingly.
          This should generally not be specified, as in the index will be
          automatically determined based on the number of existing trials.
          This is only used for the purpose of loading from storage.
class_docstr_tok: ["Trial","that","only","has","one","attached","arm","and","no","arm","weights",".","Args",":","experiment",":","Experiment",",","to","which","this","trial","is","attached",".","generator_run",":","GeneratorRun",",","associated","with","this","trial",".","Trial","has","only","one","generator","run","(","of","just","one","arm",")","attached","to","it",".","This","can","also","be","set","later","through","`","add_arm","`","or","`","add_generator_run","`",",","but","a","trial","'s","associated","genetor","run","is","immutable","once","set",".","trial_type",":","Type","of","this","trial",",","if","used","in","MultiTypeExperiment",".","ttl_seconds",":","If","specified",",","trials","will","be","considered","failed","after","this","many","seconds","since","the","time","the","trial","was","ran",",","unless","the","trial","is","completed","before","then",".","Meant","to","be","used","to","detect","'dead","'","trials",",","for","which","the","evaluation","process","might","have","crashed","etc.",",","and","which","should","be","considered","failed","after","their","'time","to","live","'","has","passed",".","index",":","If","specified",",","the","trial","'s","index","will","be","set","accordingly",".","This","should","generally","not","be","specified",",","as","in","the","index","will","be","automatically","determined","based","on","the","number","of","existing","trials",".","This","is","only","used","for","the","purpose","of","loading","from","storage","."]
docstr: Objective mean for the arm attached to this trial, retrieved from the
  latest data available for the objective for the trial.
  
  Note: the retrieved objective is the experiment-level objective at the
  time of the call to `objective_mean`, which is not necessarily the
  objective that was set at the time the trial was created or ran.
docstr_tok: ["Objective","mean","for","the","arm","attached","to","this","trial",",","retrieved","from","the","latest","data","available","for","the","objective","for","the","trial",".","Note",":","the","retrieved","objective","is","the","experiment-level","objective","at","the","time","of","the","call","to","`","objective_mean","`",",","which","is","not","necessarily","the","objective","that","was","set","at","the","time","the","trial","was","created","or","ran","."]
code: def objective_mean(self) -> float:
      """Objective mean for the arm attached to this trial, retrieved from the
      latest data available for the objective for the trial.
  
      Note: the retrieved objective is the experiment-level objective at the
      time of the call to `objective_mean`, which is not necessarily the
      objective that was set at the time the trial was created or ran.
      """
      # For SimpleExperiment, fetch_data just executes eval_trial.
  
      opt_config = self.experiment.optimization_config
      if opt_config is None:
          raise ValueError(
              "Experiment optimization config (and thus the objective) is not set."
          )
      return self.get_metric_mean(
          metric_name=opt_config.objective.metric.name
      )
  
imports: from __future__ import annotations
  from copy import deepcopy
  from functools import partial
  from logging import Logger
  from typing import Any, Dict, List, Optional, TYPE_CHECKING, Union
  from ax.core.arm import Arm
  from ax.core.base_trial import BaseTrial, immutable_once_run
  from ax.core.data import Data
  from ax.core.generator_run import GeneratorRun, GeneratorRunType
  from ax.core.types import TCandidateMetadata, TEvaluationOutcome
  from ax.utils.common.docutils import copy_doc
  from ax.utils.common.logger import _round_floats_for_logging, get_logger
  from ax.utils.common.typeutils import not_none
label_desc: Use image node_id 10 for calling the Trial obj's underlying member method code with example usage: obj.objective_mean() and returns: self