Stage 5 Configuration
This page has the following sections:
Intra-Scenario Comparison: How to generate comparison graphs for a set of controllers which have all been run on the same scenario(s).
Inter-Scenario Comparison: How to generate comparison graphs for a single controller which has been run across multiple scenarios.
All configuration for stage 5 is in <project>/config/stage5.yaml
file. This
file is mandatory for running stage 5, and optional otherwise.
Intra-Scenario Comparison
Intra-scenario comparison compares the results of multiple controllers on the
same --scenario
. An example stage5.yaml
, defining two different
comparison graphs is shown below. Supports univariate and bivariate batch
criteria.
Note
Any collated CSV/graph can be used as a comparison graph! This includes any additional CSVs that a project creates on its own/by extending SIERRA via hooks.
Graph YAML Config
Unless stated otherwise, all keys are required.
# Intra-scenario comparison: For a set of controllers which have all been run
# in the same scenario (or set of scenarios).
intra_scenario:
# Which intra-scenario comparison graphs should be generated.
graphs:
# The filename (no path, extension) of the .csv within the collated .csv
# output directory for each batch experiment which contains the
# information to collate across controllers/scenarios.
#
# The src_stem must match the dest_stem from an inter-experiment line
# graph in order to generate the comparison graph!
#
# Note that if you are using bivariate batch criteria + intra-scenario
# comparison, you *may* have to append the interval # to the end of the
# stem, because collated 2D CSV files form a temporal sequence over the
# duration of the experiment. If you forget to do this, you will get a
# warning and no graph will be generated, because SIERRA won't know which
# 2D csv you want to us as source. Frequently you are interested in
# steady state behavior, so putting 'n_intervals - 1' is desired.
#
# If the src_stem is from a CSV you generated outside of the SIERRA
# core/via a hook, then this restriction does not apply.
- src_stem: PM-ss-raw
# The filename (no path, extent) of the .csv file within the
# controller/scenario comparison directory in ``--sierra-root``
# (outside of the directories for each controller/scenario!) which
# should contain the data collated from each batch experiment. I
# usually put a prefix such as ``cc`` (controller comparison) to help
# distinguish these graphs from the collated graphs in stage 4.
dest_stem: cc-PM-ss-raw
# The title the graph should have. This cannot be computed from the
# batch criteria in general in stage 5, because you can comparison
# results across scenarios which use different batch criteria. This key
# is optional.
title: ''
# The Y or Z label of the graph (depending on the type of comparison
# graph selected on the cmdline). This key is optional.
label: 'Avg. Object Collection Rate'
# For bivariate batch criteria, select which criteria should be on the
# X axis if the comparison graphs are linegraphs. 0=criteria1,
# 1=criteria2. Ignored for univariate batch criteria or if heatmaps are
# selected for as the comparison type. This key is optional, and
defaults to 0 if omitted.
primary_axis: 0
# The experiments from each batch experiment which should be included on
# the comparison graph. This is useful to exclude exp0 (for example), if
# you are interested in behavior under non-ideal conditions and exp0
# contains behavior under ideal conditions as the "base case" in the
# batch. Syntax is parsed as a python slice, so as ``X:Y`` as you would
# expect. This key is optional, and defaults to ``:`` if omitted.
include_exp: '2:'
# scalability
- src_stem: PM-ss-scalability-parallel-frac
dest_stem: cc-PM-ss-scalability-parallel-frac
title: ''
label: 'Scalability Value'
primary_axis: 0
include_exp: '2:'
Inter-Scenario Comparison
Inter-scenario comparison compares the same --controller
across multiple
--scenarios
. An example stage5.yaml
, defining a comparison
graphs is shown below. Only supports univariate batch criteria.
Note
Any collated CSV/graph can be used as a comparison graph! This includes any additional CSVs that a project creates on its own/by extending SIERRA via hooks.
Graph YAML Config
Same syntax and meaning as the configuration for intra-scenario comparison graphs.
inter_scenario:
graphs:
# raw performance
- src_stem: PM-ss-raw
dest_stem: cc-PM-ss-raw
title: ''
label: 'Avg. Object Collection Rate'
primary_axis: 0
include_exp: '2:'