sierra.core.pipeline.stage1.pipeline_stage1

Stage 1 of the experimental pipeline: generating experimental inputs.

class sierra.core.pipeline.stage1.pipeline_stage1.PipelineStage1(cmdopts: Dict[str, Any], controller: str, criteria: IConcreteBatchCriteria)[source]

Generates a Batch Experiment for running during stage 2.

Generated experimental input files are written to the filesystem, and can be be used in stage 2 to launch simulations/real robot controller. This stage is idempotent with default settings; this can be overridden with --no-preserve-seeds, in which case this stage is no longer idempotent.

Inheritance

Inheritance diagram of PipelineStage1
__dict__ = mappingproxy({'__module__': 'sierra.core.pipeline.stage1.pipeline_stage1', '__doc__': 'Generates a :term:`Batch Experiment` for running during stage 2.\n\n    Generated experimental input files are written to the filesystem, and can be\n    be used in stage 2 to launch simulations/real robot controller. This stage\n    is idempotent with default settings; this can be overridden with\n    ``--no-preserve-seeds``, in which case this stage is no longer idempotent.\n\n    ', '__init__': <function PipelineStage1.__init__>, 'run': <function PipelineStage1.run>, '__dict__': <attribute '__dict__' of 'PipelineStage1' objects>, '__weakref__': <attribute '__weakref__' of 'PipelineStage1' objects>, '__annotations__': {}})
__doc__ = 'Generates a :term:`Batch Experiment` for running during stage 2.\n\n    Generated experimental input files are written to the filesystem, and can be\n    be used in stage 2 to launch simulations/real robot controller. This stage\n    is idempotent with default settings; this can be overridden with\n    ``--no-preserve-seeds``, in which case this stage is no longer idempotent.\n\n    '
__init__(cmdopts: Dict[str, Any], controller: str, criteria: IConcreteBatchCriteria) None[source]
__module__ = 'sierra.core.pipeline.stage1.pipeline_stage1'
__weakref__

list of weak references to the object (if defined)

run() None[source]

Create the Batch Experiment in the filesystem.

The creation process can be summarized as:

  1. Scaffold the batch experiment by applying sets of changes from the batch criteria to the XML template input file for each experiment in the batch. These changes apply to all Experiments in the batch and all Experimental Runs in the experiment.

  2. Generate changes to be applied to to the newly written per-experiment “template” XML file for each experiment which are non-Batch Criteria related (e.g., Platform changes). These changes apply to all experiment runs in an experiment, but may differ across experimental runs (e.g., # cores used for a simulator platform).

  3. Generate per-experimental run changes for each experimental run in the experiment, according to platform and Project configuration.

  4. Write the input files for all experimental runs in all experiments to the filesystem after generation.