Kaynağa Gözat

Test pip install (#50)

* Test pip install
Fangjun Kuang 2 yıl önce
ebeveyn
işleme
1d589235e4

+ 47 - 0
.github/scripts/test-recognizer.py

@@ -0,0 +1,47 @@
+#!/usr/bin/env python3
+
+import wave
+
+import numpy as np
+import sherpa_ncnn
+
+
+def main():
+    recognizer = sherpa_ncnn.Recognizer(
+        tokens="./sherpa-ncnn-conv-emformer-transducer-2022-12-06/tokens.txt",
+        encoder_param="./sherpa-ncnn-conv-emformer-transducer-2022-12-06/encoder_jit_trace-pnnx.ncnn.param",
+        encoder_bin="./sherpa-ncnn-conv-emformer-transducer-2022-12-06/encoder_jit_trace-pnnx.ncnn.bin",
+        decoder_param="./sherpa-ncnn-conv-emformer-transducer-2022-12-06/decoder_jit_trace-pnnx.ncnn.param",
+        decoder_bin="./sherpa-ncnn-conv-emformer-transducer-2022-12-06/decoder_jit_trace-pnnx.ncnn.bin",
+        joiner_param="./sherpa-ncnn-conv-emformer-transducer-2022-12-06/joiner_jit_trace-pnnx.ncnn.param",
+        joiner_bin="./sherpa-ncnn-conv-emformer-transducer-2022-12-06/joiner_jit_trace-pnnx.ncnn.bin",
+        num_threads=4,
+    )
+
+    filename = "./sherpa-ncnn-conv-emformer-transducer-2022-12-06/test_wavs/1.wav"
+    with wave.open(filename) as f:
+        assert f.getframerate() == recognizer.sample_rate, (
+            f.getframerate(),
+            recognizer.sample_rate,
+        )
+        assert f.getnchannels() == 1, f.getnchannels()
+        assert f.getsampwidth() == 2, f.getsampwidth()  # it is in bytes
+        num_samples = f.getnframes()
+        samples = f.readframes(num_samples)
+        samples_int16 = np.frombuffer(samples, dtype=np.int16)
+        samples_float32 = samples_int16.astype(np.float32)
+
+        samples_float32 = samples_float32 / 32768
+
+    recognizer.accept_waveform(recognizer.sample_rate, samples_float32)
+
+    tail_paddings = np.zeros(int(recognizer.sample_rate * 0.5), dtype=np.float32)
+    recognizer.accept_waveform(recognizer.sample_rate, tail_paddings)
+
+    recognizer.input_finished()
+
+    print(recognizer.text)
+
+
+if __name__ == "__main__":
+    main()

+ 59 - 0
.github/workflows/test-pip-install.yaml

@@ -0,0 +1,59 @@
+name: test-pip-install
+
+on:
+  push:
+    branches:
+      - master
+  pull_request:
+    branches:
+      - master
+
+concurrency:
+  group: linux-macos-windows-${{ github.ref }}
+  cancel-in-progress: true
+
+permissions:
+  contents: read
+
+jobs:
+  test_pip_install:
+    runs-on: ${{ matrix.os }}
+    strategy:
+      fail-fast: false
+      matrix:
+        os: [ubuntu-latest, macos-latest, windows-latest]
+        python-version: ["3.7", "3.8", "3.9", "3.10"]
+
+    steps:
+      - uses: actions/checkout@v2
+        with:
+          fetch-depth: 0
+
+      # see https://github.com/microsoft/setup-msbuild
+      - name: Add msbuild to PATH
+        if: startsWith(matrix.os, 'windows')
+        uses: microsoft/setup-msbuild@v1.0.2
+
+      - name: Setup Python ${{ matrix.python-version }}
+        uses: actions/setup-python@v2
+        with:
+          python-version: ${{ matrix.python-version }}
+
+      - name: Display Python version
+        run: python -c "import sys; print(sys.version)"
+
+      - name: Install sherpa-ncnn
+        shell: bash
+        run: |
+          pip3 install --verbose -U sherpa-ncnn
+
+      - name: Download pretrained model and test-data
+        shell: bash
+        run: |
+          git lfs install
+          git clone https://huggingface.co/csukuangfj/sherpa-ncnn-conv-emformer-transducer-2022-12-06
+
+      - name: Run test
+        shell: bash
+        run: |
+          python3 .github/scripts/test-recognizer.py