update usage instruction

This commit is contained in:
marcoyang 2024-03-19 18:50:15 +08:00
parent 885dd5317c
commit 862ccd700f
2 changed files with 33 additions and 36 deletions

View File

@ -27,11 +27,13 @@ popd
2. Export the model to ONNX 2. Export the model to ONNX
./zipformer/export-onnx.py \ ./zipformer_adapter/export-onnx.py \
--tokens $repo/data/lang_bpe_500/tokens.txt \ --tokens $repo/data/lang_bpe_500/tokens.txt \
--use-averaged-model 0 \ --use-averaged-model 0 \
--epoch 99 \ --epoch 99 \
--avg 1 \ --avg 1 \
--use-adapters 1 \
--adapter-dim 32 \
--exp-dir $repo/exp \ --exp-dir $repo/exp \
--num-encoder-layers "2,2,3,4,3,2" \ --num-encoder-layers "2,2,3,4,3,2" \
--downsampling-factor "1,2,4,8,4,2" \ --downsampling-factor "1,2,4,8,4,2" \
@ -131,7 +133,7 @@ def get_parser():
parser.add_argument( parser.add_argument(
"--exp-dir", "--exp-dir",
type=str, type=str,
default="zipformer/exp", default="zipformer_adapter/exp",
help="""It specifies the directory where all training related help="""It specifies the directory where all training related
files, e.g., checkpoints, log, etc, are saved files, e.g., checkpoints, log, etc, are saved
""", """,

View File

@ -32,10 +32,12 @@ dataset, you should change the argument values according to your dataset.
- For non-streaming model: - For non-streaming model:
./zipformer/export.py \ ./zipformer_adapter/export.py \
--exp-dir ./zipformer/exp \ --exp-dir ./zipformer_adapter/exp \
--tokens data/lang_bpe_500/tokens.txt \ --tokens data/lang_bpe_500/tokens.txt \
--epoch 30 \ --epoch 30 \
--use-adapters 1 \
--adapter-dim 16 \
--avg 9 \ --avg 9 \
--jit 1 --jit 1
@ -49,12 +51,14 @@ for how to use the exported models outside of icefall.
- For streaming model: - For streaming model:
./zipformer/export.py \ ./zipformer_adapter/export.py \
--exp-dir ./zipformer/exp \ --exp-dir ./zipformer_adapter/exp \
--causal 1 \ --causal 1 \
--chunk-size 16 \ --chunk-size 16 \
--left-context-frames 128 \ --left-context-frames 128 \
--tokens data/lang_bpe_500/tokens.txt \ --tokens data/lang_bpe_500/tokens.txt \
--use-adapters 1 \
--adapter-dim 16 \
--epoch 30 \ --epoch 30 \
--avg 9 \ --avg 9 \
--jit 1 --jit 1
@ -71,18 +75,22 @@ for how to use the exported models outside of icefall.
- For non-streaming model: - For non-streaming model:
./zipformer/export.py \ ./zipformer_adapter/export.py \
--exp-dir ./zipformer/exp \ --exp-dir ./zipformer_adapter/exp \
--tokens data/lang_bpe_500/tokens.txt \ --tokens data/lang_bpe_500/tokens.txt \
--epoch 30 \ --epoch 30 \
--use-adapters 1 \
--adapter-dim 16 \
--avg 9 --avg 9
- For streaming model: - For streaming model:
./zipformer/export.py \ ./zipformer_adapter/export.py \
--exp-dir ./zipformer/exp \ --exp-dir ./zipformer_adapter/exp \
--causal 1 \ --causal 1 \
--tokens data/lang_bpe_500/tokens.txt \ --tokens data/lang_bpe_500/tokens.txt \
--use-adapters 1 \
--adapter-dim 16 \
--epoch 30 \ --epoch 30 \
--avg 9 --avg 9
@ -91,24 +99,26 @@ load it by `icefall.checkpoint.load_checkpoint()`.
- For non-streaming model: - For non-streaming model:
To use the generated file with `zipformer/decode.py`, To use the generated file with `zipformer_adapter/decode.py`,
you can do: you can do:
cd /path/to/exp_dir cd /path/to/exp_dir
ln -s pretrained.pt epoch-9999.pt ln -s pretrained.pt epoch-9999.pt
cd /path/to/egs/librispeech/ASR cd /path/to/egs/librispeech/ASR
./zipformer/decode.py \ ./zipformer_adapter/decode_gigaspeech.py \
--exp-dir ./zipformer/exp \ --exp-dir ./zipformer_adapter/exp \
--epoch 9999 \ --epoch 9999 \
--avg 1 \ --avg 1 \
--max-duration 600 \ --max-duration 600 \
--use-adapters 1 \
--adapter-dim 16 \
--decoding-method greedy_search \ --decoding-method greedy_search \
--bpe-model data/lang_bpe_500/bpe.model --bpe-model data/lang_bpe_500/bpe.model
- For streaming model: - For streaming model:
To use the generated file with `zipformer/decode.py` and `zipformer/streaming_decode.py`, you can do: To use the generated file with `zipformer_adapter/decode.py` and `zipformer_adapter/streaming_decode.py`, you can do:
cd /path/to/exp_dir cd /path/to/exp_dir
ln -s pretrained.pt epoch-9999.pt ln -s pretrained.pt epoch-9999.pt
@ -116,8 +126,8 @@ To use the generated file with `zipformer/decode.py` and `zipformer/streaming_de
cd /path/to/egs/librispeech/ASR cd /path/to/egs/librispeech/ASR
# simulated streaming decoding # simulated streaming decoding
./zipformer/decode.py \ ./zipformer_adapter/decode_gigaspeech.py \
--exp-dir ./zipformer/exp \ --exp-dir ./zipformer_adapter/exp \
--epoch 9999 \ --epoch 9999 \
--avg 1 \ --avg 1 \
--max-duration 600 \ --max-duration 600 \
@ -128,8 +138,8 @@ To use the generated file with `zipformer/decode.py` and `zipformer/streaming_de
--bpe-model data/lang_bpe_500/bpe.model --bpe-model data/lang_bpe_500/bpe.model
# chunk-wise streaming decoding # chunk-wise streaming decoding
./zipformer/streaming_decode.py \ ./zipformer_adapter/streaming_decode.py \
--exp-dir ./zipformer/exp \ --exp-dir ./zipformer_adapter/exp \
--epoch 9999 \ --epoch 9999 \
--avg 1 \ --avg 1 \
--max-duration 600 \ --max-duration 600 \
@ -141,22 +151,6 @@ To use the generated file with `zipformer/decode.py` and `zipformer/streaming_de
Check ./pretrained.py for its usage. Check ./pretrained.py for its usage.
Note: If you don't want to train a model from scratch, we have
provided one for you. You can get it at
- non-streaming model:
https://huggingface.co/Zengwei/icefall-asr-librispeech-zipformer-2023-05-15
- streaming model:
https://huggingface.co/Zengwei/icefall-asr-librispeech-streaming-zipformer-2023-05-17
with the following commands:
sudo apt-get install git-lfs
git lfs install
git clone https://huggingface.co/Zengwei/icefall-asr-librispeech-zipformer-2023-05-15
git clone https://huggingface.co/Zengwei/icefall-asr-librispeech-streaming-zipformer-2023-05-17
# You will find the pre-trained models in exp dir
""" """
import argparse import argparse
@ -168,7 +162,7 @@ import k2
import torch import torch
from scaling_converter import convert_scaled_to_non_scaled from scaling_converter import convert_scaled_to_non_scaled
from torch import Tensor, nn from torch import Tensor, nn
from train import add_model_arguments, get_model, get_params from train import add_finetune_arguments, add_model_arguments, get_model, get_params
from icefall.checkpoint import ( from icefall.checkpoint import (
average_checkpoints, average_checkpoints,
@ -226,7 +220,7 @@ def get_parser():
parser.add_argument( parser.add_argument(
"--exp-dir", "--exp-dir",
type=str, type=str,
default="zipformer/exp", default="zipformer_adapter/exp",
help="""It specifies the directory where all training related help="""It specifies the directory where all training related
files, e.g., checkpoints, log, etc, are saved files, e.g., checkpoints, log, etc, are saved
""", """,
@ -257,6 +251,7 @@ def get_parser():
) )
add_model_arguments(parser) add_model_arguments(parser)
add_finetune_arguments(parser)
return parser return parser