sierra.core.pipeline.stage4.pipeline_stage4

Stage 4 of the experimental pipeline: generating deliverables.

class sierra.core.pipeline.stage4.pipeline_stage4.PipelineStage4(main_config: Dict[str, Any], cmdopts: Dict[str, Any])[source]

Generates end-result experimental deliverables.

Delvirables can be within a single experiment (intra-experiment) and across experiments in a batch (inter-experiment). Currently this includes:

  • Graph generation controlled via YAML config files.

  • Video rendering controlled via YAML config files.

This stage is idempotent.

cmdopts

Dictionary of parsed cmdline options.

controller_config

YAML configuration file found in <project_config_root>/controllers.yaml. Contains configuration for what categories of graphs should be generated for what controllers, for all categories of graphs in both inter- and intra-experiment graph generation.

inter_LN_config

YAML configuration file found in <project_config_root>/inter-graphs-line.yaml Contains configuration for categories of linegraphs that can potentially be generated for all controllers across experiments in a batch. Which linegraphs are actually generated for a given controller is controlled by <project_config_root>/controllers.yaml.

intra_LN_config

YAML configuration file found in <project_config_root>/intra-graphs-line.yaml Contains configuration for categories of linegraphs that can potentially be generated for all controllers within each experiment in a batch. Which linegraphs are actually generated for a given controller in each experiment is controlled by <project_config_root>/controllers.yaml.

intra_HM_config

YAML configuration file found in <project_config_root>/intra-graphs-hm.yaml Contains configuration for categories of heatmaps that can potentially be generated for all controllers within each experiment in a batch. Which heatmaps are actually generated for a given controller in each experiment is controlled by <project_config_root>/controllers.yaml.

inter_HM_config

YAML configuration file found in <project_config_root>/inter-graphs-hm.yaml Contains configuration for categories of heatmaps that can potentially be generated for all controllers across each experiment in a batch. Which heatmaps are actually generated for a given controller in each experiment is controlled by <project_config_root>/controllers.yaml.

Inheritance

Inheritance diagram of PipelineStage4
__dict__ = mappingproxy({'__module__': 'sierra.core.pipeline.stage4.pipeline_stage4', '__doc__': 'Generates end-result experimental deliverables.\n\n    Delvirables can be within a single experiment (intra-experiment) and across\n    experiments in a batch (inter-experiment).  Currently this includes:\n\n    - Graph generation controlled via YAML config files.\n\n    - Video rendering controlled via YAML config files.\n\n    This stage is idempotent.\n\n    Attributes:\n\n        cmdopts: Dictionary of parsed cmdline options.\n\n        controller_config: YAML configuration file found in\n                           ``<project_config_root>/controllers.yaml``. Contains\n                           configuration for what categories of graphs should be\n                           generated for what controllers, for all categories of\n                           graphs in both inter- and intra-experiment graph\n                           generation.\n\n        inter_LN_config: YAML configuration file found in\n                         ``<project_config_root>/inter-graphs-line.yaml``\n                         Contains configuration for categories of linegraphs\n                         that can potentially be generated for all controllers\n                         `across` experiments in a batch. Which linegraphs are\n                         actually generated for a given controller is controlled\n                         by ``<project_config_root>/controllers.yaml``.\n\n        intra_LN_config: YAML configuration file found in\n                         ``<project_config_root>/intra-graphs-line.yaml``\n                         Contains configuration for categories of linegraphs\n                         that can potentially be generated for all controllers\n                         `within` each experiment in a batch. Which linegraphs\n                         are actually generated for a given controller in each\n                         experiment is controlled by\n                         ``<project_config_root>/controllers.yaml``.\n\n        intra_HM_config: YAML configuration file found in\n                         ``<project_config_root>/intra-graphs-hm.yaml`` Contains\n                         configuration for categories of heatmaps that can\n                         potentially be generated for all controllers `within`\n                         each experiment in a batch. Which heatmaps are actually\n                         generated for a given controller in each experiment is\n                         controlled by\n                         ``<project_config_root>/controllers.yaml``.\n\n        inter_HM_config: YAML configuration file found in\n                         ``<project_config_root>/inter-graphs-hm.yaml`` Contains\n                         configuration for categories of heatmaps that can\n                         potentially be generated for all controllers `across`\n                         each experiment in a batch. Which heatmaps are actually\n                         generated for a given controller in each experiment is\n                         controlled by\n                         ``<project_config_root>/controllers.yaml``.\n\n    ', '__init__': <function PipelineStage4.__init__>, 'run': <function PipelineStage4.run>, '_load_models': <function PipelineStage4._load_models>, '_calc_inter_targets': <function PipelineStage4._calc_inter_targets>, '_run_rendering': <function PipelineStage4._run_rendering>, '_run_intra_models': <function PipelineStage4._run_intra_models>, '_run_inter_models': <function PipelineStage4._run_inter_models>, '_run_intra_graph_generation': <function PipelineStage4._run_intra_graph_generation>, '_run_collation': <function PipelineStage4._run_collation>, '_run_inter_graph_generation': <function PipelineStage4._run_inter_graph_generation>, '__dict__': <attribute '__dict__' of 'PipelineStage4' objects>, '__weakref__': <attribute '__weakref__' of 'PipelineStage4' objects>, '__annotations__': {}})
__doc__ = 'Generates end-result experimental deliverables.\n\n    Delvirables can be within a single experiment (intra-experiment) and across\n    experiments in a batch (inter-experiment).  Currently this includes:\n\n    - Graph generation controlled via YAML config files.\n\n    - Video rendering controlled via YAML config files.\n\n    This stage is idempotent.\n\n    Attributes:\n\n        cmdopts: Dictionary of parsed cmdline options.\n\n        controller_config: YAML configuration file found in\n                           ``<project_config_root>/controllers.yaml``. Contains\n                           configuration for what categories of graphs should be\n                           generated for what controllers, for all categories of\n                           graphs in both inter- and intra-experiment graph\n                           generation.\n\n        inter_LN_config: YAML configuration file found in\n                         ``<project_config_root>/inter-graphs-line.yaml``\n                         Contains configuration for categories of linegraphs\n                         that can potentially be generated for all controllers\n                         `across` experiments in a batch. Which linegraphs are\n                         actually generated for a given controller is controlled\n                         by ``<project_config_root>/controllers.yaml``.\n\n        intra_LN_config: YAML configuration file found in\n                         ``<project_config_root>/intra-graphs-line.yaml``\n                         Contains configuration for categories of linegraphs\n                         that can potentially be generated for all controllers\n                         `within` each experiment in a batch. Which linegraphs\n                         are actually generated for a given controller in each\n                         experiment is controlled by\n                         ``<project_config_root>/controllers.yaml``.\n\n        intra_HM_config: YAML configuration file found in\n                         ``<project_config_root>/intra-graphs-hm.yaml`` Contains\n                         configuration for categories of heatmaps that can\n                         potentially be generated for all controllers `within`\n                         each experiment in a batch. Which heatmaps are actually\n                         generated for a given controller in each experiment is\n                         controlled by\n                         ``<project_config_root>/controllers.yaml``.\n\n        inter_HM_config: YAML configuration file found in\n                         ``<project_config_root>/inter-graphs-hm.yaml`` Contains\n                         configuration for categories of heatmaps that can\n                         potentially be generated for all controllers `across`\n                         each experiment in a batch. Which heatmaps are actually\n                         generated for a given controller in each experiment is\n                         controlled by\n                         ``<project_config_root>/controllers.yaml``.\n\n    '
__init__(main_config: Dict[str, Any], cmdopts: Dict[str, Any]) None[source]
__module__ = 'sierra.core.pipeline.stage4.pipeline_stage4'
__weakref__

list of weak references to the object (if defined)

_calc_inter_targets(name: str, category_prefix: str, loaded_graphs: Dict[str, Any]) List[Dict[str, Any]][source]

Calculate what inter-experiment graphs to generate.

This also defines what CSV files need to be collated, as one graph is always generated from one CSV file. Uses YAML configuration for controllers and inter-experiment graphs.

_load_models() None[source]
_run_collation(criteria: IConcreteBatchCriteria) None[source]
_run_inter_graph_generation(criteria: IConcreteBatchCriteria) None[source]

Generate inter-experiment graphs (duh).

_run_inter_models(criteria: IConcreteBatchCriteria) None[source]
_run_intra_graph_generation(criteria: IConcreteBatchCriteria) None[source]

Generate intra-experiment graphs (duh).

_run_intra_models(criteria: IConcreteBatchCriteria) None[source]
_run_rendering(criteria: IConcreteBatchCriteria) None[source]

Render captured frames and/or imagized frames into videos.

run(criteria: IConcreteBatchCriteria) None[source]

Run the pipeline stage.

Intra-experiment graph generation: if intra-experiment graphs should be generated, according to cmdline configuration, the following is run:

  1. Model generation for each enabled and loaded model.

  2. BatchIntraExpGraphGenerator to generate graphs for each experiment in the batch, or a subset.

Inter-experiment graph generation: if inter-experiment graphs should be generated according to cmdline configuration, the following is run:

  1. UnivarGraphCollator or BivarGraphCollator as appropriate (depending on which type of BatchCriteria was specified on the cmdline).

  2. Model generation for each enabled and loaded model.

  3. InterExpGraphGenerator to perform graph generation from collated CSV files.

Video generation: The following is run:

  1. PlatformFramesRenderer, if --platform-vc was passed

  2. ProjectFramesRenderer, if --project-imagizing was passed previously to generate frames, and --project-rendering is passed.

  3. BivarHeatmapRenderer, if the batch criteria was bivariate and --HM-rendering was passed.