Random State¶
When performing reproducibility/variability experiments, it is important to isolate sources of variability. One such source is random state.
Random seed can be set in pipeline config
pipeline_setup:
system_config:
# Stop worklow execution on first crash?
fail_fast: Off
# Random seed used to fix the state of execution.
# If unset, each process uses its own default.
# If set, a `random.log` file will be generated logging the random seed and each node to which that seed was applied.
# If set to a positive integer (up to 2147483647), that integer will be used to seed each process that accepts a random seed.
# If set to 'random', a random positive integer (up to 2147483647) will be generated and that seed will be used to seed each process that accepts a random seed.
random_seed:
or on the command line with --random-seed $SEED
.
Valid options are positive integers up to 2,147,483,647 or the word ‘random’ (which will set an integer in that range). If not specified, a seed will not be set, and each relevant process will run with an undocumented random seed.
When a seed is set, a random.log
file, including the constant seed and each node the seed was applied to, will be generated in the logging directory.
The following processes currently support this feature:
antsAI
antsRegistration
Atropos
recon-all
mri_vol2vol
fslmaths
fslmaths
CPAC.registration.utils.hardcoded_reg