ESPnet3 Publication Configuration
Less than 1 minute
ESPnet3 Publication Configuration
This page explains the publication.yaml schema used by pack_model and upload_model.
Important
Publication config controls packaging and upload. Keep training and inference logic out of this file.
Minimum required keys
For packing:
pack_model.out_dir
For upload:
upload_model.hf_repo
Common optional keys:
pack_model.inference_dirpack_model.readmepack_model.includepack_model.excludepack_model.files
Basic shape
recipe_dir: .
exp_tag: ${self_name:}
exp_dir: exp/${exp_tag}
inference_dir: ${exp_dir}/inference
pack_model:
out_dir: ${exp_dir}/model_pack
inference_dir: ${inference_dir}
readme: egs3/TEMPLATE/asr/src/hf_model_repo_readme_template.md
include:
- ${recipe_dir}/src
exclude:
- inference
- inference_*
- last.ckpt
files:
asr_model_file: ${exp_dir}/last.ckpt
upload_model:
hf_repo: yourname/your-model-repoMain sections
| Section | Description |
|---|---|
recipe_dir, exp_dir, inference_dir | Path scaffold used during packing |
pack_model | Bundle creation settings |
upload_model | Hugging Face upload settings |
pack_model
pack_model first copies ${exp_dir}, then applies:
includeexclude- config rewriting
meta.yamlgeneration
Important fields:
out_dir: where the packed model is writteninference_dir: wheremetrics.jsonis read from for README/resultsreadme: README template pathinclude: extra files or directories to copyexclude: glob patterns to removefiles: named artifacts written intometa.yaml
upload_model
upload_model.hf_repo is the main required field for upload.
The upload step uses the packed directory from pack_model.out_dir.
Note
pack_model may also receive training_config, inference_config, and metrics_config from run.py when those were loaded in the same run.
Naming note
Use inference_dir, not decode_dir. Current ESPnet3 publication config no longer uses decode naming for this path.
