FunASR/funasr/runtime/grpc
2023-03-21 16:57:40 +08:00
..
CMakeLists.txt call api 2023-03-08 16:32:16 +08:00
common.cmake grpc onnx cpp first commit 2023-03-06 22:50:44 +08:00
paraformer_server.cc add onnx quantize model for grpc 2023-03-21 16:32:53 +08:00
paraformer_server.h add onnx quantize model for grpc 2023-03-21 16:32:53 +08:00
Readme.md modify read.me 2023-03-21 16:57:40 +08:00
rebuild.sh fix c++ grpc onnx server 2023-03-16 17:06:19 +08:00

paraformer grpc onnx server in c++

Step 1. Build ../onnxruntime as it's document

#put onnx-lib & onnx-asr-model & vocab.txt into /path/to/asrmodel(eg: /data/asrmodel)
ls /data/asrmodel/
onnxruntime-linux-x64-1.14.0  speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch

file /data/asrmodel/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch/vocab.txt
UTF-8 Unicode text

Step 2. Compile and install grpc v1.52.0 in case of grpc bugs

export GRPC_INSTALL_DIR=/data/soft/grpc
export PKG_CONFIG_PATH=$GRPC_INSTALL_DIR/lib/pkgconfig

git clone -b v1.52.0 --depth=1  https://github.com/grpc/grpc.git
cd grpc
git submodule update --init --recursive

mkdir -p cmake/build
pushd cmake/build
cmake -DgRPC_INSTALL=ON \
      -DgRPC_BUILD_TESTS=OFF \
      -DCMAKE_INSTALL_PREFIX=$GRPC_INSTALL_DIR \
      ../..
make
make install
popd

echo "export GRPC_INSTALL_DIR=/data/soft/grpc" >> ~/.bashrc
echo "export PKG_CONFIG_PATH=\$GRPC_INSTALL_DIR/lib/pkgconfig" >> ~/.bashrc
echo "export PATH=\$GRPC_INSTALL_DIR/bin/:\$PKG_CONFIG_PATH:\$PATH" >> ~/.bashrc
source ~/.bashrc

Step 3. Compile and start grpc onnx paraformer server

# set -DONNXRUNTIME_DIR=/path/to/asrmodel/onnxruntime-linux-x64-1.14.0
./rebuild.sh

Step 4. Start grpc paraformer server

Usage: ./cmake/build/paraformer_server port thread_num /path/to/model_file quantize(true or false)
./cmake/build/paraformer_server 10108 4 /data/asrmodel/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch false

Step 5. Start grpc python paraformer client on PC with MIC

cd ../python/grpc
python grpc_main_client_mic.py  --host $server_ip --port 10108