CLI Reference#
aucurriculum provides a command line interface (CLI) to manage the entire curriculum learning-based training process including configuration management, data preprocessing, model training, inference, postprocessing, and curriculum to obtain sample difficulty scores.
In addition to the CLI, aucurriculum provides a Python CLI wrapper to manage configurations, data, training, inference, postprocessing, and curriculum sample difficulty calculation programmatically with the same functionality as the CLI.
Note
Both the CLI and the Python CLI wrapper serve as a curriculum learning extension to autrainer. For more information on the autrainer CLI, refer to the autrainer CLI reference.
aucurriculum#
usage: aucurriculum [-h] [-v] <command> ...
A Curriculum Learning Toolkit for Deep Learning Tasks built on top of autrainer.
usage: aucurriculum [-h] [-v] <command> ...
Positional Arguments#
- <command>
Possible choices: create, list, show, fetch, preprocess, train, inference, postprocess, rm-failed, rm-states, group, curriculum
Named Arguments#
- -v, --version
show program’s version number and exit
Configuration Management#
To manage configurations, aucurriculum create, aucurriculum list, and aucurriculum show allow for the creation of the project structure and the discovery as well as saving of default configurations provided by aucurriculum and autrainer.
Tip
Default configurations can be discovered both through the CLI, the CLI wrapper, and the respective module documentation.
aucurriculum create#
usage: aucurriculum create [-h] [-e] [-a] [-f] [directories ...]
Create a new curriculum project with default configurations.
usage: aucurriculum create [-h] [-e] [-a] [-f] [directories ...]
Positional Arguments#
- directories
- Configuration directories to create. One or more of:
augmentation
curriculum
curriculum/pacing
curriculum/sampling
curriculum/scoring
dataset
model
optimizer
plotting
preprocessing
scheduler
Named Arguments#
- -e, --empty
Create an empty project without any configuration directory.
- -a, --all
Create a project with all configuration directories.
- -f, --force
Force overwrite if the configuration directory already exists.
aucurriculum list#
usage: aucurriculum list [-h] [-l] [-g] [-p P] directory
List local and global configurations.
usage: aucurriculum list [-h] [-l] [-g] [-p P] directory
Positional Arguments#
- directory
- The directory to list configurations from. Choose from:
augmentation
curriculum
curriculum/pacing
curriculum/sampling
curriculum/scoring
dataset
model
optimizer
plotting
preprocessing
scheduler
Named Arguments#
- -l, --local-only
List local configurations only.
- -g, --global-only
List global configurations only.
- -p, --pattern
Glob pattern to filter configurations.
aucurriculum show#
usage: aucurriculum show [-h] [-s] [-f] directory config
Show and save a global configuration.
usage: aucurriculum show [-h] [-s] [-f] directory config
Positional Arguments#
- directory
- The directory to list configurations from. Choose from:
augmentation
curriculum
curriculum/pacing
curriculum/sampling
curriculum/scoring
dataset
model
optimizer
plotting
preprocessing
scheduler
- config
The global configuration to show. Configurations can be discovered using the ‘autrainer list’ command.
Named Arguments#
- -s, --save
Save the global configuration to the local conf/ directory.
- -f, --force
Force overwrite local configuration if it exists in combination with -s/–save.
Preprocessing#
To avoid race conditions when using hydra_launcher_plugins that may run multiple training jobs in parallel, aucurriculum fetch and aucurriculum preprocess allow for downloading and preprocessing of datasets (and pretrained model states) before training.
Both commands are based on the main configuration file (e.g. conf/config.yaml
),
such that the specified models and datasets are fetched and preprocessed accordingly.
If a model or dataset is already fetched or preprocessed, it will be skipped.
For more information on fetching and preprocessing, refer to the autrainer preprocessing CLI reference.
Training#
Training is managed by aucurriculum train, which starts the training process
based on the main configuration file (e.g. conf/config.yaml
).
aucurriculum train#
usage: aucurriculum train [-h]
Launch a training configuration (Hydra). For more information on Hydra’s command line line flags, see: https://hydra.cc/docs/advanced/hydra-command-line-flags/.
usage: aucurriculum train [-h]
Inference#
aucurriculum inference allows for the (sliding window) inference of audio data using a trained model. For more information on the inference process, refer to the autrainer inference CLI reference.
Postprocessing#
Postprocessing allows for the summarization, visualization, and aggregation of the training results using aucurriculum postprocess. Several cleanup utilities are provided by aucurriculum rm-failed and aucurriculum rm-states. Manual grouping of the training results can be done using aucurriculum group.
aucurriculum postprocess#
usage: aucurriculum postprocess [-h] [-m N] [-a A [A ...]] results_dir experiment_id
Postprocess grid search results.
usage: aucurriculum postprocess [-h] [-m N] [-a A [A ...]]
results_dir experiment_id
Positional Arguments#
- results_dir
Path to grid search results directory.
- experiment_id
ID of experiment to postprocess.
Named Arguments#
- -m, --max-runs
Maximum number of best runs to plot.
- -a, --aggregate
- Configurations to aggregate. One or more of:
augmentation
batch_size
curriculum
curriculum.pacing
curriculum.pacing.final_iteration
curriculum.pacing.initial_size
curriculum.sampling
curriculum.scoring
dataset
iterations
learning_rate
model
optimizer
scheduler
seed
For more information on the cleanup utilities and manual grouping, refer to the autrainer postprocessing CLI reference.
Curriculum Scoring
Curriculum scoring is managed by aucurriculum curriculum, which allows for the calculation of sample difficulty scores based on the training results and scoring functions.
aucurriculum curriculum#
usage: aucurriculum curriculum -cn curriculum.yaml
Launch a curriculum scoring function configuration (Hydra). For more information on Hydra’s command line line flags, see: https://hydra.cc/docs/advanced/hydra-command-line-flags/.
usage: aucurriculum curriculum [-h]