From 129cfcd9f283dea0d64f2e20b77662febc2d802c Mon Sep 17 00:00:00 2001 From: 游雁 <zhifu.gzf@alibaba-inc.com> Date: 星期四, 23 三月 2023 10:01:32 +0800 Subject: [PATCH] cer tool --- funasr/runtime/python/grpc/Readme.md | 61 ++++++++++++++++++++++++++---- 1 files changed, 52 insertions(+), 9 deletions(-) diff --git a/funasr/runtime/python/grpc/Readme.md b/funasr/runtime/python/grpc/Readme.md index f037032..2df666d 100644 --- a/funasr/runtime/python/grpc/Readme.md +++ b/funasr/runtime/python/grpc/Readme.md @@ -5,41 +5,84 @@ ## Steps -Step 1) Prepare server environment (on server). +Step 1-1) Prepare server modelscope pipeline environment (on server). -Optional, install modelscope and funasr with pip or with cuda-docker image. + Install modelscope and funasr with pip or with cuda-docker image. -Option 1: Install modelscope and funasr with [pip](https://github.com/alibaba-damo-academy/FunASR#installation) + Option 1: Install modelscope and funasr with [pip](https://github.com/alibaba-damo-academy/FunASR#installation) -Option 2: or install with cuda-docker image as: + Option 2: or install with cuda-docker image as: ``` CID=`docker run --network host -d -it --gpus '"device=0"' registry.cn-hangzhou.aliyuncs.com/modelscope-repo/modelscope:ubuntu20.04-cuda11.3.0-py37-torch1.11.0-tf1.15.5-1.2.0` echo $CID docker exec -it $CID /bin/bash ``` -Get funasr source code and get into grpc directory. + Get funasr source code and get into grpc directory. ``` git clone https://github.com/alibaba-damo-academy/FunASR cd FunASR/funasr/runtime/python/grpc/ ``` +Step 1-2) Optional, Prepare server onnxruntime environment (on server). -Step 2) Generate protobuf file (for server and client). +Install [`onnx_paraformer`](https://github.com/alibaba-damo-academy/FunASR/tree/main/funasr/runtime/python/onnxruntime). + +- Build the onnx_paraformer `whl` ``` -# Optional, paraformer_pb2.py and paraformer_pb2_grpc.py are already generated. +git clone https://github.com/alibaba/FunASR.git && cd FunASR +cd funasr/runtime/python/onnxruntime/rapid_paraformer +python setup.py build +python setup.py install +``` + +[//]: # () +[//]: # (- Install the build `whl`) + +[//]: # (```) + +[//]: # (pip install dist/rapid_paraformer-0.0.1-py3-none-any.whl) + +[//]: # (```) + +Export the model, more details ref to [export docs](https://github.com/alibaba-damo-academy/FunASR/tree/main/funasr/runtime/python/onnxruntime). +```shell +python -m funasr.export.export_model --model-name damo/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch --export-dir ./export --type onnx --quantize True +``` + +Step 2) Optional, generate protobuf file (run on server, the two generated pb files are both used for server and client). +``` +# Optional, Install dependency. +python -m pip install grpcio grpcio-tools +``` + +``` +# paraformer_pb2.py and paraformer_pb2_grpc.py are already generated, +# regenerate it only when you make changes to ./proto/paraformer.proto file. python -m grpc_tools.protoc --proto_path=./proto -I ./proto --python_out=. --grpc_python_out=./ ./proto/paraformer.proto ``` Step 3) Start grpc server (on server). ``` -python grpc_main_server.py --port 10095 +# Optional, Install dependency. +python -m pip install grpcio grpcio-tools ``` +``` +# Start server. +python grpc_main_server.py --port 10095 --backend pipeline +``` + +If you want run server with onnxruntime, please set `backend` and `onnx_dir` paramater. +``` +# Start server. +python grpc_main_server.py --port 10095 --backend onnxruntime --onnx_dir /models/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch +``` + Step 4) Start grpc client (on client with microphone). ``` # Optional, Install dependency. -python -m pip install pyaudio webrtcvad +python -m pip install pyaudio webrtcvad grpcio grpcio-tools ``` ``` # Start client. -- Gitblit v1.9.1