docstr: TrialInfo contains information about the trial that is currently running.
docstr_tok: ["TrialInfo","contains","information","about","the","trial","that","is","currently","running","."]
code: def __init__(
      self,
      trial_id: int,
      experiment_id: int,
      trial_seed: int,
      hparams: Dict[str, Any],
      config: Dict[str, Any],
      steps_completed: int,
      trial_run_id: int,
      debug: bool,
      inter_node_network_interface: Optional[str],
  ):
      """
      TrialInfo contains information about the trial that is currently running.
      """
  
      #: The Trial ID for the current task.
      self.trial_id = trial_id
  
      #: The Experiment ID for the current task.
      self.experiment_id = experiment_id
  
      #: The random seed for the current Trial.
      self.trial_seed = trial_seed
  
      #: The hyperparameter values selected for the current Trial.
      self.hparams = hparams
  
      # _config is private because it's not a stable API; as the experiment config version
      # increases, the shape of the experiment config dict might change as the master is upgraded.
      # As a result, we should strongly discourage users from reading the experiment config dict
      # in their training code.  They should focus on the data field and the hparams field, which
      # have always been and will always be user-defined.
      self._config = config
  
      # rb: These fields are private because I am pretty confident that we need to find better
      # ways to pass them around the system.  But for now, they're passed in as environment
      # variables and for now we have to be able to handle that.
      # TODO: decide if we really want to track steps_completed for users or not.
      self._steps_completed = steps_completed
      # TODO: get rid of trial_run_id in favor of allocation id.
      self._trial_run_id = trial_run_id
      # TODO: decide if the experiment config is the right place for users to set a debug flag.
      self._debug = debug
      # TODO: Get rid of this in favor of launch layer configs?
      self._inter_node_network_interface = inter_node_network_interface
  
imports: import json
  import os
  from typing import Any, Dict, Iterable, List, Optional, Union
  from determined import gpu
label_desc: Use image node_id 1 to create a new TrialInfo object  with example: obj = TrialInfo(trial_id, experiment_id, trial_seed, hparams, config, steps_completed, trial_run_id, debug, inter_node_network_interface)