ESPnet2 pretrained model, nemi-notraces/asr_train_asr_conformer5_raw_de_bpe550_sp_valid.acc.best, fs=16k, lang=de
Creators: name: Nemi
Publisher: name: Zenodo
Year: 2021
Subjects: Comonvoice, Espnet2, German

description: This model was trained by nemi using comonvoice recipe in espnet2 with Comonvoice Corpus 6.1 <pre><code class="language-markdown"># RESULTS ## Environments - date: `Fri Jun 25 10:03:51 CEST 2021` - python version: `3.8.5 (default, Jan 27 2021, 15:41:15) [GCC 9.3.0]` - espnet version: `espnet 0.9.9` - pytorch version: `pytorch 1.8.1+cu111` - Git hash: `08feae5bb93fa8f6dcba66760c8617a4b5e39d70` - Commit date: `Tue Apr 20 02:59:00 2021 +0900` ## asr_train_asr_conformer5_raw_de_bpe550_sp ### WER |dataset|Snt|Wrd|Corr|Sub|Del|Ins|Err|S.Err| |---|---|---|---|---|---|---|---|---| |decode_asr_lm_lm_train_lm_de_bpe550_valid.loss.ave_asr_model_valid.acc.ave/dev_de|15588|142683|93.2|6.2|0.5|0.6|7.4|36.8| |decode_asr_lm_lm_train_lm_de_bpe550_valid.loss.ave_asr_model_valid.acc.ave/test_de|15588|140714|93.3|6.2|0.6|0.6|7.4|34.7| ### CER |dataset|Snt|Wrd|Corr|Sub|Del|Ins|Err|S.Err| |---|---|---|---|---|---|---|---|---| |decode_asr_lm_lm_train_lm_de_bpe550_valid.loss.ave_asr_model_valid.acc.ave/dev_de|15588|1005689|98.4|0.8|0.8|0.4|2.0|36.8| |decode_asr_lm_lm_train_lm_de_bpe550_valid.loss.ave_asr_model_valid.acc.ave/test_de|15588|984271|98.3|0.9|0.8|0.5|2.2|34.7| ### TER |dataset|Snt|Wrd|Corr|Sub|Del|Ins|Err|S.Err| |---|---|---|---|---|---|---|---|---| |decode_asr_lm_lm_train_lm_de_bpe550_valid.loss.ave_asr_model_valid.acc.ave/dev_de|15588|445584|96.0|2.7|1.3|0.6|4.6|36.8| |decode_asr_lm_lm_train_lm_de_bpe550_valid.loss.ave_asr_model_valid.acc.ave/test_de|15588|435568|95.8|2.8|1.4|0.6|4.8|34.7| </code></pre> <strong>run.sh </strong> <pre><code class="language-bash">#!/usr/bin/env bash # Set bash to 'debug' mode, it will exit on : # -e 'error', -u 'undefined variable', -o ... 'error in pipeline', -x 'print commands', set -e set -u set -o pipefail lang=de # en de fr cy tt kab ca zh-TW it fa eu es ru tr nl eo zh-CN rw pt zh-HK cs pl uk train_set=train_"$(echo "${lang}" | tr - _)" train_dev=dev_"$(echo "${lang}" | tr - _)" test_set="${train_dev} test_$(echo ${lang} | tr - _)" asr_config=conf/tuning/train_asr_conformer5.yaml lm_config=conf/train_lm.yaml inference_config=conf/decode_asr.yaml if [[ "zh" == *"${lang}"* ]]; then nbpe=2500 elif [[ "fr" == *"${lang}"* ]]; then nbpe=350 elif [[ "es" == *"${lang}"* ]]; then nbpe=235 else nbpe=550 fi ./asr.sh \ --ngpu 1 \ --lang "${lang}" \ --local_data_opts "--lang ${lang}" \ --use_lm true \ --lm_config "${lm_config}" \ --token_type bpe \ --nbpe $nbpe \ --feats_type raw \ --speed_perturb_factors "0.9 1.0 1.1" \ --asr_config "${asr_config}" \ --inference_config "${inference_config}" \ --train_set "${train_set}" \ --valid_set "${train_dev}" \ --test_sets "${test_set}" \ --bpe_train_text "data/${train_set}/text" \ --lm_train_text "data/${train_set}/text" "$@" </code></pre> <strong>asr.sh</strong> <pre><code class="language-bash">#!/usr/bin/env bash # Set bash to 'debug' mode, it will exit on : # -e 'error', -u 'undefined variable', -o ... 'error in pipeline', -x 'print commands', set -e set -u set -o pipefail log() { local fname=${BASH_SOURCE[1]##*/} echo -e "$(date '+%Y-%m-%dT%H:%M:%S') (${fname}:${BASH_LINENO[0]}:${FUNCNAME[1]}) $*" } min() { local a b a=$1 for b in "$@"; do if [ "${b}" -le "${a}" ]; then a="${b}" fi done echo "${a}" } SECONDS=0 # General configuration stage=1 # Processes starts from the specified stage. stop_stage=10000 # Processes is stopped at the specified stage. skip_data_prep=false # Skip data preparation stages. skip_train=false # Skip training stages. skip_eval=false # Skip decoding and evaluation stages. skip_upload=true # Skip packing and uploading stages. ngpu=1 # The number of gpus ("0" uses cpu, otherwise use gpu). num_nodes=1 # The number of nodes. nj=32 # The number of parallel jobs. inference_nj=32 # The number of parallel jobs in decoding. gpu_inference=false # Whether to perform gpu decoding. dumpdir=dump # Directory to dump features. expdir=exp # Directory to save experiments. python=python3 # Specify python to execute espnet commands. # Data preparation related local_data_opts= # The options given to local/data.sh. # Speed perturbation related speed_perturb_factors= # perturbation factors, e.g. "0.9 1.0 1.1" (separated by space). # Feature extraction related feats_type=raw # Feature type (raw or fbank_pitch). audio_format=flac # Audio format: wav, flac, wav.ark, flac.ark (only in feats_type=raw). fs=16k # Sampling rate. min_wav_duration=0.1 # Minimum duration in second. max_wav_duration=20 # Maximum duration in second. # Tokenization related token_type=bpe # Tokenization type (char or bpe). nbpe=30 # The number of BPE vocabulary. bpemode=unigram # Mode of BPE (unigram or bpe). oov="&lt;unk&gt;" # Out of vocabulary symbol. blank="&lt;blank&gt;" # CTC blank symbol sos_eos="&lt;sos/eos&gt;" # sos and eos symbole bpe_input_sentence_size=100000000 # Size of input sentence for BPE. bpe_nlsyms= # non-linguistic symbols list, separated by a comma, for BPE bpe_char_cover=1.0 # character coverage when modeling BPE # Language model related use_lm=true # Use language model for ASR decoding. lm_tag= # Suffix to the result dir for language model training. lm_exp= # Specify the direcotry path for LM experiment. # If this option is specified, lm_tag is ignored. lm_stats_dir= # Specify the direcotry path for LM statistics. lm_config= # Config for language model training. lm_args= # Arguments for language model training, e.g., "--max_epoch 10". # Note that it will overwrite args in lm config. use_word_lm=false # Whether to use word language model. num_splits_lm=1 # Number of splitting for lm corpus. # shellcheck disable=SC2034 word_vocab_size=10000 # Size of word vocabulary. # ASR model related asr_tag= # Suffix to the result dir for asr model training. asr_exp= # Specify the direcotry path for ASR experiment. # If this option is specified, asr_tag is ignored. asr_stats_dir= # Specify the direcotry path for ASR statistics. asr_config= # Config for asr model training. asr_args= # Arguments for asr model training, e.g., "--max_epoch 10". # Note that it will overwrite args in asr config. feats_normalize=global_mvn # Normalizaton layer type. num_splits_asr=1 # Number of splitting for lm corpus. # Decoding related inference_tag= # Suffix to the result dir for decoding. inference_config= # Config for decoding. inference_args= # Arguments for decoding, e.g., "--lm_weight 0.1". # Note that it will overwrite args in inference config. inference_lm=valid.loss.ave.pth # Language modle path for decoding. inference_asr_model=valid.acc.ave.pth # ASR model path for decoding. # e.g. # inference_asr_model=train.loss.best.pth # inference_asr_model=3epoch.pth # inference_asr_model=valid.acc.best.pth # inference_asr_model=valid.loss.ave.pth download_model= # Download a model from Model Zoo and use it for decoding. # [Task dependent] Set the datadir name created by local/data.sh train_set= # Name of training set. valid_set= # Name of validation set used for monitoring/tuning network training. test_sets= # Names of test sets. Multiple items (e.g., both dev and eval sets) can be specified. bpe_train_text= # Text file path of bpe training set. lm_train_text= # Text file path of language model training set. lm_dev_text= # Text file path of language model development set. lm_test_text= # Text file path of language model evaluation set. nlsyms_txt=none # Non-linguistic symbol list if existing. cleaner=none # Text cleaner. g2p=none # g2p method (needed if token_type=phn). lang=noinfo # The language type of corpus. score_opts= # The options given to sclite scoring local_score_opts= # The options given to local/score.sh. asr_speech_fold_length=800 # fold_length for speech data during ASR training. asr_text_fold_length=150 # fold_length for text data during ASR training. lm_fold_length=150 # fold_length for LM training. help_message=$(cat &lt;&lt; EOF Usage: $0 --train-set "&lt;train_set_name&gt;" --valid-set "&lt;valid_set_name&gt;" --test_sets "&lt;test_set_names&gt;" Options: # General configuration --stage # Processes starts from the specified stage (default="${stage}"). --stop_stage # Processes is stopped at the specified stage (default="${stop_stage}"). --skip_data_prep # Skip data preparation stages (default="${skip_data_prep}"). --skip_train # Skip training stages (default="${skip_train}"). --skip_eval # Skip decoding and evaluation stages (default="${skip_eval}"). --skip_upload # Skip packing and uploading stages (default="${skip_upload}"). --ngpu # The number of gpus ("0" uses cpu, otherwise use gpu, default="${ngpu}"). --num_nodes # The number of nodes (default="${num_nodes}"). --nj # The number of parallel jobs (default="${nj}"). --inference_nj # The number of parallel jobs in decoding (default="${inference_nj}"). --gpu_inference # Whether to perform gpu decoding (default="${gpu_inference}"). --dumpdir # Directory to dump features (default="${dumpdir}"). --expdir # Directory to save experiments (default="${expdir}"). --python # Specify python to execute espnet commands (default="${python}"). # Data preparation related --local_data_opts # The options given to local/data.sh (default="${local_data_opts}"). # Speed perturbation related --speed_perturb_factors # speed perturbation factors, e.g. "0.9 1.0 1.1" (separated by space, default="${speed_perturb_factors}"). # Feature extraction related --feats_type # Feature type (raw, fbank_pitch or extracted, default="${feats_type}"). --audio_format # Audio format: wav, flac, wav.ark, flac.ark (only in feats_type=raw, default="${audio_format}"). --fs # Sampling rate (default="${fs}"). --min_wav_duration # Minimum duration in second (default="${min_wav_duration}"). --max_wav_duration # Maximum duration in second (default="${max_wav_duration}"). # Tokenization related --token_type # Tokenization type (char or bpe, default="${token_type}"). --nbpe # The number of BPE vocabulary (default="${nbpe}"). --bpemode # Mode of BPE (unigram or bpe, default="${bpemode}"). --oov # Out of vocabulary symbol (default="${oov}"). --blank # CTC blank symbol (default="${blank}"). --sos_eos # sos and eos symbole (default="${sos_eos}"). --bpe_input_sentence_size # Size of input sentence for BPE (default="${bpe_input_sentence_size}"). --bpe_nlsyms # Non-linguistic symbol list for sentencepiece, separated by a comma. (default="${bpe_nlsyms}"). --bpe_char_cover # Character coverage when modeling BPE (default="${bpe_char_cover}"). # Language model related --lm_tag # Suffix to the result dir for language model training (default="${lm_tag}"). --lm_exp # Specify the direcotry path for LM experiment. # If this option is specified, lm_tag is ignored (default="${lm_exp}"). --lm_stats_dir # Specify the direcotry path for LM statistics (default="${lm_stats_dir}"). --lm_config # Config for language model training (default="${lm_config}"). --lm_args # Arguments for language model training (default="${lm_args}"). # e.g., --lm_args "--max_epoch 10" # Note that it will overwrite args in lm config. --use_word_lm # Whether to use word language model (default="${use_word_lm}"). --word_vocab_size # Size of word vocabulary (default="${word_vocab_size}"). --num_splits_lm # Number of splitting for lm corpus (default="${num_splits_lm}"). # ASR model related --asr_tag # Suffix to the result dir for asr model training (default="${asr_tag}"). --asr_exp # Specify the direcotry path for ASR experiment. # If this option is specified, asr_tag is ignored (default="${asr_exp}"). --asr_stats_dir # Specify the direcotry path for ASR statistics (default="${asr_stats_dir}"). --asr_config # Config for asr model training (default="${asr_config}"). --asr_args # Arguments for asr model training (default="${asr_args}"). # e.g., --asr_args "--max_epoch 10" # Note that it will overwrite args in asr config. --feats_normalize # Normalizaton layer type (default="${feats_normalize}"). --num_splits_asr # Number of splitting for lm corpus (default="${num_splits_asr}"). # Decoding related --inference_tag # Suffix to the result dir for decoding (default="${inference_tag}"). --inference_config # Config for decoding (default="${inference_config}"). --inference_args # Arguments for decoding (default="${inference_args}"). # e.g., --inference_args "--lm_weight 0.1" # Note that it will overwrite args in inference config. --inference_lm # Language modle path for decoding (default="${inference_lm}"). --inference_asr_model # ASR model path for decoding (default="${inference_asr_model}"). --download_model # Download a model from Model Zoo and use it for decoding (default="${download_model}"). # [Task dependent] Set the datadir name created by local/data.sh --train_set # Name of training set (required). --valid_set # Name of validation set used for monitoring/tuning network training (required). --test_sets # Names of test sets. # Multiple items (e.g., both dev and eval sets) can be specified (required). --bpe_train_text # Text file path of bpe training set. --lm_train_text # Text file path of language model training set. --lm_dev_text # Text file path of language model development set (default="${lm_dev_text}"). --lm_test_text # Text file path of language model evaluation set (default="${lm_test_text}"). --nlsyms_txt # Non-linguistic symbol list if existing (default="${nlsyms_txt}"). --cleaner # Text cleaner (default="${cleaner}"). --g2p # g2p method (default="${g2p}"). --lang # The language type of corpus (default=${lang}). --score_opts # The options given to sclite scoring (default="{score_opts}"). --local_score_opts # The options given to local/score.sh (default="{local_score_opts}"). --asr_speech_fold_length # fold_length for speech data during ASR training (default="${asr_speech_fold_length}"). --asr_text_fold_length # fold_length for text data during ASR training (default="${asr_text_fold_length}"). --lm_fold_length # fold_length for LM training (default="${lm_fold_length}"). EOF ) log "$0 $*" # Save command line args for logging (they will be lost after utils/parse_options.sh) run_args=$(pyscripts/utils/print_args.py $0 "$@") . utils/parse_options.sh if [ $# -ne 0 ]; then log "${help_message}" log "Error: No positional arguments are required." exit 2 fi . ./path.sh . ./cmd.sh # Check required arguments [ -z "${train_set}" ] &amp;&amp; { log "${help_message}"; log "Error: --train_set is required"; exit 2; }; [ -z "${valid_set}" ] &amp;&amp; { log "${help_message}"; log "Error: --valid_set is required"; exit 2; }; [ -z "${test_sets}" ] &amp;&amp; { log "${help_message}"; log "Error: --test_sets is required"; exit 2; }; # Check feature type if [ "${feats_type}" = raw ]; then data_feats=${dumpdir}/raw elif [ "${feats_type}" = fbank_pitch ]; then data_feats=${dumpdir}/fbank_pitch elif [ "${feats_type}" = fbank ]; then data_feats=${dumpdir}/fbank elif [ "${feats_type}" == extracted ]; then data_feats=${dumpdir}/extracted else log "${help_message}" log "Error: not supported: --feats_type ${feats_type}" exit 2 fi # Use the same text as ASR for bpe training if not specified. [ -z "${bpe_train_text}" ] &amp;&amp; bpe_train_text="${data_feats}/${train_set}/text" # Use the same text as ASR for lm training if not specified. [ -z "${lm_train_text}" ] &amp;&amp; lm_train_text="${data_feats}/${train_set}/text" # Use the same text as ASR for lm training if not specified. [ -z "${lm_dev_text}" ] &amp;&amp; lm_dev_text="${data_feats}/${valid_set}/text" # Use the text of the 1st evaldir if lm_test is not specified [ -z "${lm_test_text}" ] &amp;&amp; lm_test_text="${data_feats}/${test_sets%% *}/text" # Check tokenization type if [ "${lang}" != noinfo ]; then token_listdir=data/${lang}_token_list else token_listdir=data/token_list fi bpedir="${token_listdir}/bpe_${bpemode}${nbpe}" bpeprefix="${bpedir}"/bpe bpemodel="${bpeprefix}".model bpetoken_list="${bpedir}"/tokens.txt chartoken_list="${token_listdir}"/char/tokens.txt # NOTE: keep for future development. # shellcheck disable=SC2034 wordtoken_list="${token_listdir}"/word/tokens.txt if [ "${token_type}" = bpe ]; then token_list="${bpetoken_list}" elif [ "${token_type}" = char ]; then token_list="${chartoken_list}" bpemodel=none elif [ "${token_type}" = word ]; then token_list="${wordtoken_list}" bpemodel=none else log "Error: not supported --token_type '${token_type}'" exit 2 fi if ${use_word_lm}; then log "Error: Word LM is not supported yet" exit 2 lm_token_list="${wordtoken_list}" lm_token_type=word else lm_token_list="${token_list}" lm_token_type="${token_type}" fi # Set tag for naming of model directory if [ -z "${asr_tag}" ]; then if [ -n "${asr_config}" ]; then asr_tag="$(basename "${asr_config}" .yaml)_${feats_type}" else asr_tag="train_${feats_type}" fi if [ "${lang}" != noinfo ]; then asr_tag+="_${lang}_${token_type}" else asr_tag+="_${token_type}" fi if [ "${token_type}" = bpe ]; then asr_tag+="${nbpe}" fi # Add overwritten arg's info if [ -n "${asr_args}" ]; then asr_tag+="$(echo "${asr_args}" | sed -e "s/--/\_/g" -e "s/[ |=/]//g")" fi if [ -n "${speed_perturb_factors}" ]; then asr_tag+="_sp" fi fi if [ -z "${lm_tag}" ]; then if [ -n "${lm_config}" ]; then lm_tag="$(basename "${lm_config}" .yaml)" else lm_tag="train" fi if [ "${lang}" != noinfo ]; then lm_tag+="_${lang}_${lm_token_type}" else lm_tag+="_${lm_token_type}" fi if [ "${lm_token_type}" = bpe ]; then lm_tag+="${nbpe}" fi # Add overwritten arg's info if [ -n "${lm_args}" ]; then lm_tag+="$(echo "${lm_args}" | sed -e "s/--/\_/g" -e "s/[ |=/]//g")" fi fi # The directory used for collect-stats mode if [ -z "${asr_stats_dir}" ]; then if [ "${lang}" != noinfo ]; then asr_stats_dir="${expdir}/asr_stats_${feats_type}_${lang}_${token_type}" else asr_stats_dir="${expdir}/asr_stats_${feats_type}_${token_type}" fi if [ "${token_type}" = bpe ]; then asr_stats_dir+="${nbpe}" fi if [ -n "${speed_perturb_factors}" ]; then asr_stats_dir+="_sp" fi fi if [ -z "${lm_stats_dir}" ]; then if [ "${lang}" != noinfo ]; then lm_stats_dir="${expd</code></pre>