133 lines
4.4 KiB
Bash
Executable File

#!/usr/bin/env bash
set -ex
log() {
# This function is from espnet
local fname=${BASH_SOURCE[1]##*/}
echo -e "$(date '+%Y-%m-%d %H:%M:%S') (${fname}:${BASH_LINENO[0]}:${FUNCNAME[1]}) $*"
}
cd egs/ksponspeech/ASR
function test_pretrained_non_streaming() {
git lfs install
git clone https://huggingface.co/johnBamma/icefall-asr-ksponspeech-zipformer-2024-06-24
repo=icefall-asr-ksponspeech-zipformer-2024-06-24
pushd $repo
mkdir test_wavs
cd test_wavs
curl -SL -O https://huggingface.co/k2-fsa/sherpa-onnx-streaming-zipformer-korean-2024-06-16/resolve/main/test_wavs/0.wav
curl -SL -O https://huggingface.co/k2-fsa/sherpa-onnx-streaming-zipformer-korean-2024-06-16/resolve/main/test_wavs/1.wav
curl -SL -O https://huggingface.co/k2-fsa/sherpa-onnx-streaming-zipformer-korean-2024-06-16/resolve/main/test_wavs/2.wav
curl -SL -O https://huggingface.co/k2-fsa/sherpa-onnx-streaming-zipformer-korean-2024-06-16/resolve/main/test_wavs/3.wav
curl -SL -O https://huggingface.co/k2-fsa/sherpa-onnx-streaming-zipformer-korean-2024-06-16/resolve/main/test_wavs/trans.txt
cd ../exp
ln -s pretrained.pt epoch-99.pt
ls -lh
popd
log 'test pretrained.py'
./zipformer/pretrained.py \
--checkpoint $repo/exp/pretrained.pt \
--tokens $repo/data/lang_bpe_5000/tokens.txt \
--method greedy_search \
$repo/test_wavs/0.wav \
$repo/test_wavs/1.wav \
$repo/test_wavs/2.wav \
$repo/test_wavs/3.wav
log 'test export-onnx.py'
./zipformer/export-onnx.py \
--tokens $repo/data/lang_bpe_5000/tokens.txt \
--use-averaged-model 0 \
--epoch 99 \
--avg 1 \
--exp-dir $repo/exp/
ls -lh $repo/exp
ls -lh $repo/data/lang_bpe_5000/
log 'test exported onnx models'
./zipformer/onnx_pretrained.py \
--encoder-model-filename $repo/exp/encoder-epoch-99-avg-1.onnx \
--decoder-model-filename $repo/exp/decoder-epoch-99-avg-1.onnx \
--joiner-model-filename $repo/exp/joiner-epoch-99-avg-1.onnx \
--tokens $repo/data/lang_bpe_5000/tokens.txt \
$repo/test_wavs/0.wav
dst=/tmp/model-2024-06-24
mkdir -p $dst
cp -av $repo/test_wavs $dst
cp -v $repo/exp/*.onnx $dst
cp -v $repo/exp/*.onnx $dst
cp -v $repo/data/lang_bpe_5000/tokens.txt $dst
cp -v $repo/data/lang_bpe_5000/bpe.model $dst
rm -rf $repo
}
function test_pretrained_streaming() {
git lfs install
git clone https://huggingface.co/johnBamma/icefall-asr-ksponspeech-pruned-transducer-stateless7-streaming-2024-06-12
repo=icefall-asr-ksponspeech-pruned-transducer-stateless7-streaming-2024-06-12
pushd $repo
mkdir test_wavs
cd test_wavs
curl -SL -O https://huggingface.co/k2-fsa/sherpa-onnx-streaming-zipformer-korean-2024-06-16/resolve/main/test_wavs/0.wav
curl -SL -O https://huggingface.co/k2-fsa/sherpa-onnx-streaming-zipformer-korean-2024-06-16/resolve/main/test_wavs/1.wav
curl -SL -O https://huggingface.co/k2-fsa/sherpa-onnx-streaming-zipformer-korean-2024-06-16/resolve/main/test_wavs/2.wav
curl -SL -O https://huggingface.co/k2-fsa/sherpa-onnx-streaming-zipformer-korean-2024-06-16/resolve/main/test_wavs/3.wav
cd ../exp
ln -s pretrained.pt epoch-99.pt
ls -lh
popd
log 'test pretrained.py'
./pruned_transducer_stateless7_streaming/pretrained.py \
--checkpoint $repo/exp/pretrained.pt \
--tokens $repo/data/lang_bpe_5000/tokens.txt \
--method greedy_search \
$repo/test_wavs/0.wav \
$repo/test_wavs/1.wav \
$repo/test_wavs/2.wav \
$repo/test_wavs/3.wav
log 'test export-onnx.py'
./pruned_transducer_stateless7_streaming/export-onnx.py \
--tokens $repo/data/lang_bpe_5000/tokens.txt \
--use-averaged-model 0 \
--epoch 99 \
--avg 1 \
--decode-chunk-len 32 \
--exp-dir $repo/exp/
ls -lh $repo/exp
ls -lh $repo/data/lang_bpe_5000/
log 'test exported onnx models'
./pruned_transducer_stateless7_streaming/onnx_pretrained.py \
--encoder-model-filename $repo/exp/encoder-epoch-99-avg-1.onnx \
--decoder-model-filename $repo/exp/decoder-epoch-99-avg-1.onnx \
--joiner-model-filename $repo/exp/joiner-epoch-99-avg-1.onnx \
--tokens $repo/data/lang_bpe_5000/tokens.txt \
$repo/test_wavs/0.wav
dst=/tmp/model-2024-06-16
mkdir -p $dst
cp -v $repo/exp/*.onnx $dst
cp -v $repo/exp/*.onnx $dst
cp -v $repo/data/lang_bpe_5000/tokens.txt $dst
cp -v $repo/data/lang_bpe_5000/bpe.model $dst
rm -rf $repo
}
test_pretrained_non_streaming
test_pretrained_streaming