#當前安裝過程沒有cpu版本順利
1.個人在自己的電腦上安裝ubantu系統,以便使用本身的顯卡功能(本人顯卡NVIDIA GeForce RTX 4060)(這里需要注意,更新里面有附加驅動安裝驅動會導致黑屏,小伙伴不要心急重裝系統,可以ctrl+alt+f2用自己的賬戶登陸,刪除驅動(自行百度)然后reboot,這情況例外,我之前有個電腦安裝就沒事),因此當前驅動是在官網下載安裝的。
funasr安裝教程參考
https://github.com/modelscope/FunASR/blob/main/runtime/docs/SDK_advanced_guide_offline_gpu_zh.md
2.這里注意端口10095:10095,官方給的是10098:10095,后面調用引擎的代碼端口是10095.
sudo docker pull \registry.cn-hangzhou.aliyuncs.com/funasr_repo/funasr:funasr-runtime-sdk-gpu-0.1.1
mkdir -p ./funasr-runtime-resources/models
sudo docker run --gpus=all -p 10095:10095 -it --privileged=true \-v $PWD/funasr-runtime-resources/models:/workspace/models \registry.cn-hangzhou.aliyuncs.com/funasr_repo/funasr:funasr-runtime-sdk-gpu-0.1.1
這里拉取鏡像大約20多G,建議磁盤空間大點60G以上,不然白白浪費時間。
啟動鏡像的時候失敗,報錯如下:
docker: Error response from daemon: could not select device driver "" with capabilities: [[gpu]].
ERRO[0000] error waiting for container: context canceled
這里就需要安裝NVIDIA Container Toolkit,具體教程參考https://blog.csdn.net/weixin_44212848/article/details/137013980
3.安裝好NVIDIA Container Toolkit,啟動鏡像就可以了,開始運行funasr引擎,下載模型
cd /workspace/FunASR/runtime
nohup bash run_server.sh \--download-model-dir /workspace/models \--model-dir damo/speech_paraformer-large-vad-punc_asr_nat-zh-cn-16k-common-vocab8404-pytorch \--vad-dir damo/speech_fsmn_vad_zh-cn-16k-common-onnx \--punc-dir damo/punc_ct-transformer_cn-en-common-vocab471067-large-onnx \--lm-dir damo/speech_ngram_lm_zh-cn-ai-wesp-fst \--itn-dir thuduj12/fst_itn_zh \--certfile ../../../ssl_key/server.crt \--keyfile ../../../ssl_key/server.key \--hotword ../../hotwords.txt > log.txt 2>&1 &
(我這里模型下載成功,但是沒有啟動,因為有個libtorch_global_deps.so文件不存在)比如:
cd /workspace/FunASR/runtime/websocket/build/bin
#1.執行
ldd funasr-wss-server
#2.會顯示so文件,
libtorch_global_deps.so => not found
#3.這個時候可以輸入下面命令查看so文件路徑:
find / -name libtorch_global_deps.so
#結果:/usr/local/lib/python3.8/dist-packages/torch/lib/libtorch_global_deps.so
#4.將該so文件路徑導入環境變量
export LD_LIBRARY_PATH=/usr/local/lib/python3.8/dist-packages/torch/lib#5.再次執行ldd funasr-wss-server ,就會發現libtorch_global_deps.so可以找到了
4.模型下載好了,so文件也解決了,接下來啟動引擎
run_server.sh命令參數介紹--download-model-dir 模型下載地址,通過設置model ID從Modelscope下載模型
--model-dir modelscope model ID 或者 本地模型路徑
--vad-dir modelscope model ID 或者 本地模型路徑
--punc-dir modelscope model ID 或者 本地模型路徑
--lm-dir modelscope model ID 或者 本地模型路徑
--itn-dir modelscope model ID 或者 本地模型路徑
--port 服務端監聽的端口號,默認為 10095
--decoder-thread-num 服務端線程池個數(支持的最大并發路數),**建議每路分配1G顯存,即20G顯存可配置20路并發**
--io-thread-num 服務端啟動的IO線程數
--model-thread-num 每路識別的內部線程數(控制ONNX模型的并行),默認為 1,其中建議 decoder-thread-num*model-thread-num 等于總線程數
--certfile ssl的證書文件,默認為:../../../ssl_key/server.crt,如果需要關閉ssl,參數設置為0
--keyfile ssl的密鑰文件,默認為:../../../ssl_key/server.key
--hotword 熱詞文件路徑,每行一個熱詞,格式:熱詞 權重(例如:阿里巴巴 20),如果客戶端提供熱詞,則與客戶端提供的熱詞合并一起使用,服務端熱詞全局生效,客戶端熱詞只針對對應客戶端生效。
?本人喜歡直接運行,方便看有沒有報錯(這里啟動的時候,報錯,有個python庫=onnxruntime不存在需要pip install onnxruntime,cpu版本安裝的時候這個庫是在的,警告可以不用理會)
cd /workspace/FunASR/runtime/websocket/build/bin#這里參數可以參考原文檔來設定,因為我模型下載好了,所以路徑就是/workspace/models/damo
./funasr-wss-server --model-dir /workspace/models/damo/speech_paraformer-large-vad-punc_asr_nat-zh-cn-16k-common-vocab8404-pytorch --vad-dir damo/speech_fsmn_vad_zh-cn-16k-common-onnx --punc-dir /workspace/models/damo/punc_ct-transformer_cn-en-common-vocab471067-large-onnx --lm-dir /workspace/models/damo/speech_ngram_lm_zh-cn-ai-wesp-fst --itn-dir thuduj12/fst_itn_zh
5.引擎啟動成功就可以使用python(3.7以上)調用測試了(工具下載:wget https://isv-data.oss-cn-hangzhou.aliyuncs.com/ics/MaaS/ASR/sample/funasr_samples.tar.gz)
python3 funasr_wss_client.py --host "127.0.0.1" --port 10095 --mode offline \--audio_in "../audio/asr_example.wav" --output_dir "./results"