sierra.core.generators.exp_generators

Experiment generation classes.

Experiment generation modifies the XMLExpDef object built from the specified batch criteria as follows:

  • Platform-specific modifications common to all batch experiments

  • Project-specific modifications common to all batch experiments

  • Modifications generated by the selected controller+scenario

NOTE:: Generated definitions from batch criteria are not handled here; they are

already generated to scaffold the batch experiment when experiment generation is run.

class sierra.core.generators.exp_generators.BatchExpDefGenerator(criteria: IConcreteBatchCriteria, controller_name: str, scenario_basename: str, cmdopts: Dict[str, Any])[source]

Generate experiment definitions for a Batch Experiment.

Does not create the batch experiment after generation.

batch_config_template

Absolute path to the root template XML configuration file.

batch_input_root

Root directory for all generated XML input files all experiments should be stored (relative to current dir or absolute). Each experiment will get a directory within this root to store the xml input files for the set of Experimental Runs comprising an Experiment; directory name determined by the batch criteria used.

batch_output_root

Root directory for all experiment outputs (relative to current dir or absolute). Each experiment will get a directory ‘exp<n>’ in this directory for its outputs.

criteria

BatchCriteria derived object instance created from cmdline definition.

controller_name

Name of controller generator to use.

scenario_basename

Name of scenario generator to use.

Inheritance

Inheritance diagram of BatchExpDefGenerator
__dict__ = mappingproxy({'__module__': 'sierra.core.generators.exp_generators', '__doc__': "Generate experiment definitions for a :term:`Batch Experiment`.\n\n    Does not create the batch experiment after generation.\n\n    Attributes:\n\n        batch_config_template: Absolute path to the root template XML\n                               configuration file.\n\n        batch_input_root: Root directory for all generated XML input files all\n                               experiments should be stored (relative to current\n                               dir or absolute). Each experiment will get a\n                               directory within this root to store the xml input\n                               files for the set of :term:`Experimental Runs\n                               <Experimental Run>` comprising an\n                               :term:`Experiment`; directory name determined by\n                               the batch criteria used.\n\n        batch_output_root: Root directory for all experiment outputs (relative\n                           to current dir or absolute). Each experiment will get\n                           a directory 'exp<n>' in this directory for its\n                           outputs.\n\n        criteria: :class:`~sierra.core.variables.batch_criteria.BatchCriteria`\n                  derived object instance created from cmdline definition.\n\n        controller_name: Name of controller generator to use.\n\n        scenario_basename: Name of scenario generator to use.\n\n    ", '__init__': <function BatchExpDefGenerator.__init__>, 'generate_defs': <function BatchExpDefGenerator.generate_defs>, '_create_exp_generator': <function BatchExpDefGenerator._create_exp_generator>, '__dict__': <attribute '__dict__' of 'BatchExpDefGenerator' objects>, '__weakref__': <attribute '__weakref__' of 'BatchExpDefGenerator' objects>, '__annotations__': {}})
__doc__ = "Generate experiment definitions for a :term:`Batch Experiment`.\n\n    Does not create the batch experiment after generation.\n\n    Attributes:\n\n        batch_config_template: Absolute path to the root template XML\n                               configuration file.\n\n        batch_input_root: Root directory for all generated XML input files all\n                               experiments should be stored (relative to current\n                               dir or absolute). Each experiment will get a\n                               directory within this root to store the xml input\n                               files for the set of :term:`Experimental Runs\n                               <Experimental Run>` comprising an\n                               :term:`Experiment`; directory name determined by\n                               the batch criteria used.\n\n        batch_output_root: Root directory for all experiment outputs (relative\n                           to current dir or absolute). Each experiment will get\n                           a directory 'exp<n>' in this directory for its\n                           outputs.\n\n        criteria: :class:`~sierra.core.variables.batch_criteria.BatchCriteria`\n                  derived object instance created from cmdline definition.\n\n        controller_name: Name of controller generator to use.\n\n        scenario_basename: Name of scenario generator to use.\n\n    "
__init__(criteria: IConcreteBatchCriteria, controller_name: str, scenario_basename: str, cmdopts: Dict[str, Any]) None[source]
__module__ = 'sierra.core.generators.exp_generators'
__weakref__

list of weak references to the object (if defined)

_create_exp_generator(exp_num: int)[source]

Create the joint scenario+controller generator from command line definitions.

Parameters:

exp_num – Experiment number in the batch

generate_defs() List[XMLExpDef][source]

Generate and return the batch experiment definition.

Returns:

A list of experiment definitions (one for each experiment in the batch).