What is a recipe
What is a recipe
In ESPnet3, a recipe is an all-in-one project under egs3/. It contains the configs, Python code, stage runner, and output paths for one system.
Important
A recipe is the main working unit for running a baseline, adapting it, fine-tuning, evaluating, and publishing results.
How files and stages connect
A recipe is made of configuration files, dataset code, and generated outputs that are connected through execution stages. Click a file or stage below to explore how data flows through the project.
conf/training.yaml, dataset/dataset.py, and any custom code in src/. Writes *.ckpt to exp/{expdir}/. Logs are excluded from this view.Multi-GPU, DeepSpeed, and profiling are config-level flags.
A recipe is the working project you use to:
- run a baseline
- adapt the baseline to your data
- fine-tune an existing model
- run inference and evaluation
- pack and publish outputs
If you clone a recipe into your own directory, you can keep using that cloned project for the full workflow.
Note
The cloned recipe is meant to be edited. You are expected to change configs, dataset wiring, and model settings inside that project.
Clone a recipe and keep working in it
When you run:
espnet3 clone librispeech/asr --project my_project
cd my_projectyou get a full recipe project ready for baseline runs. It is also the place where you can later:
- change configs
- swap datasets
- continue training
- fine-tune from a checkpoint or pretrained model
- run inference and measure results
So the cloned recipe is not temporary. It becomes your working project.
Typical flow
- Clone an existing recipe.
- Run the baseline once.
- Read the configs and dataset code.
- Replace the dataset or model settings you need.
- Re-run training or fine-tuning in the same project.
- Run inference and measurement.
