Parcourir la source

Add Japanese streaming zipformer model to CI test (#112)

* Add Japanese streaming zipformer model to CI test

* typo fixes
Fangjun Kuang il y a 2 ans
Parent
commit
364dd95f27
2 fichiers modifiés avec 89 ajouts et 3 suppressions
  1. 86 0
      .github/scripts/run-test.sh
  2. 3 3
      sherpa-ncnn/csrc/sherpa-ncnn.cc

+ 86 - 0
.github/scripts/run-test.sh

@@ -370,3 +370,89 @@ for wave in ${waves[@]}; do
 done
 
 rm -rf $repo
+
+log "------------------------------------------------------------"
+log "Run Zipformer transducer (Japanese, fluent)"
+log "------------------------------------------------------------"
+repo_url=https://huggingface.co/csukuangfj/sherpa-ncnn-streaming-zipformer-ja-fluent-2023-02-14
+
+log "Start testing ${repo_url}"
+repo=$(basename $repo_url)
+log "Download pretrained model and test-data from $repo_url"
+
+GIT_LFS_SKIP_SMUDGE=1 git clone $repo_url
+pushd $repo
+git lfs pull --include "*.bin"
+git lfs pull --include "test_wavs/*.wav"
+popd
+
+waves=(
+$repo/test_wavs/aps-smp.wav
+$repo/test_wavs/interview_aps-smp.wav
+$repo/test_wavs/reproduction-smp.wav
+$repo/test_wavs/sps-smp.wav
+$repo/test_wavs/task-smp.wav
+)
+
+for wave in ${waves[@]}; do
+  for m in greedy_search modified_beam_search; do
+    log "----test $m ---"
+
+    time $EXE \
+      $repo/tokens.txt \
+      $repo/encoder_jit_trace-pnnx.ncnn.param \
+      $repo/encoder_jit_trace-pnnx.ncnn.bin \
+      $repo/decoder_jit_trace-pnnx.ncnn.param \
+      $repo/decoder_jit_trace-pnnx.ncnn.bin \
+      $repo/joiner_jit_trace-pnnx.ncnn.param \
+      $repo/joiner_jit_trace-pnnx.ncnn.bin \
+      $wave \
+      4 \
+      $m
+  done
+done
+
+rm -rf $repo
+
+log "------------------------------------------------------------"
+log "Run Zipformer transducer (Japanese, disfluent)"
+log "------------------------------------------------------------"
+repo_url=https://huggingface.co/csukuangfj/sherpa-ncnn-streaming-zipformer-ja-disfluent-2023-02-14
+
+log "Start testing ${repo_url}"
+repo=$(basename $repo_url)
+log "Download pretrained model and test-data from $repo_url"
+
+GIT_LFS_SKIP_SMUDGE=1 git clone $repo_url
+pushd $repo
+git lfs pull --include "*.bin"
+git lfs pull --include "test_wavs/*.wav"
+popd
+
+waves=(
+$repo/test_wavs/aps-smp.wav
+$repo/test_wavs/interview_aps-smp.wav
+$repo/test_wavs/reproduction-smp.wav
+$repo/test_wavs/sps-smp.wav
+$repo/test_wavs/task-smp.wav
+)
+
+for wave in ${waves[@]}; do
+  for m in greedy_search modified_beam_search; do
+    log "----test $m ---"
+
+    time $EXE \
+      $repo/tokens.txt \
+      $repo/encoder_jit_trace-pnnx.ncnn.param \
+      $repo/encoder_jit_trace-pnnx.ncnn.bin \
+      $repo/decoder_jit_trace-pnnx.ncnn.param \
+      $repo/decoder_jit_trace-pnnx.ncnn.bin \
+      $repo/joiner_jit_trace-pnnx.ncnn.param \
+      $repo/joiner_jit_trace-pnnx.ncnn.bin \
+      $wave \
+      4 \
+      $m
+  done
+done
+
+rm -rf $repo

+ 3 - 3
sherpa-ncnn/csrc/sherpa-ncnn.cc

@@ -121,10 +121,10 @@ for a list of pre-trained models to download.
           .count() /
       1000.;
 
-  printf("Elapsed seconds: %.3f s\n", elapsed_seconds);
+  fprintf(stderr, "Elapsed seconds: %.3f s\n", elapsed_seconds);
   float rtf = elapsed_seconds / duration;
-  printf("Real time factor (RTF): %.3f / %.3f = %.3f\n", duration,
-         elapsed_seconds, rtf);
+  fprintf(stderr, "Real time factor (RTF): %.3f / %.3f = %.3f\n",
+          elapsed_seconds, duration, rtf);
 
   return 0;
 }