阿里新开源GPU版本的FunASR安装避坑

打印 上一主题 下一主题

主题 816|帖子 816|积分 2448

#当前安装过程没有cpu版本顺遂
1.个人在本身的电脑上安装ubantu系统,以便使用本身的显卡功能(本人显卡NVIDIA GeForce RTX 4060)(这里需要注意,更新内里有附加驱动安装驱动会导致黑屏,小搭档不要心急重装系统,可以ctrl+alt+f2用本身的账户登陆,删除驱动(自行百度)然后reboot,这环境破例,我之前有个电脑安装就没事),因此当前驱动是在官网下载安装的。
funasr安装教程参考
  1. https://github.com/modelscope/FunASR/blob/main/runtime/docs/SDK_advanced_guide_offline_gpu_zh.md
复制代码
2.这里注意端口10095:10095,官方给的是10098:10095,后面调用引擎的代码端口是10095.
  1. sudo docker pull \
  2.   registry.cn-hangzhou.aliyuncs.com/funasr_repo/funasr:funasr-runtime-sdk-gpu-0.1.1
  3. mkdir -p ./funasr-runtime-resources/models
  4. sudo docker run --gpus=all -p 10095:10095 -it --privileged=true \
  5.   -v $PWD/funasr-runtime-resources/models:/workspace/models \
  6.   registry.cn-hangzhou.aliyuncs.com/funasr_repo/funasr:funasr-runtime-sdk-gpu-0.1.1
复制代码
这里拉取镜像约莫20多G,发起磁盘空间大点60G以上,不然白白浪费时间。
启动镜像的时候失败,报错如下:
  1. docker: Error response from daemon: could not select device driver "" with capabilities: [[gpu]].
  2. 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引擎,下载模型
  1. cd /workspace/FunASR/runtime
  2. nohup bash run_server.sh \
  3.   --download-model-dir /workspace/models \
  4.   --model-dir damo/speech_paraformer-large-vad-punc_asr_nat-zh-cn-16k-common-vocab8404-pytorch \
  5.   --vad-dir damo/speech_fsmn_vad_zh-cn-16k-common-onnx \
  6.   --punc-dir damo/punc_ct-transformer_cn-en-common-vocab471067-large-onnx \
  7.   --lm-dir damo/speech_ngram_lm_zh-cn-ai-wesp-fst \
  8.   --itn-dir thuduj12/fst_itn_zh \
  9.   --certfile  ../../../ssl_key/server.crt \
  10.   --keyfile ../../../ssl_key/server.key \
  11.   --hotword ../../hotwords.txt  > log.txt 2>&1 &
复制代码
(我这里模型下载成功,但是没有启动,因为有个libtorch_global_deps.so文件不存在)好比:
  1. cd /workspace/FunASR/runtime/websocket/build/bin
  2. #1.执行
  3. ldd funasr-wss-server
  4. #2.会显示so文件,
  5. libtorch_global_deps.so => not found
  6. #3.这个时候可以输入下面命令查看so文件路径:
  7. find / -name libtorch_global_deps.so
  8. #结果:/usr/local/lib/python3.8/dist-packages/torch/lib/libtorch_global_deps.so
  9. #4.将该so文件路径导入环境变量
  10. export LD_LIBRARY_PATH=/usr/local/lib/python3.8/dist-packages/torch/lib
  11. #5.再次执行ldd funasr-wss-server ,就会发现libtorch_global_deps.so可以找到了
复制代码
4.模型下载好了,so文件也办理了,接下来启动引擎
  1. run_server.sh命令参数介绍
  2. --download-model-dir 模型下载地址,通过设置model ID从Modelscope下载模型
  3. --model-dir  modelscope model ID 或者 本地模型路径
  4. --vad-dir  modelscope model ID 或者 本地模型路径
  5. --punc-dir  modelscope model ID 或者 本地模型路径
  6. --lm-dir modelscope model ID 或者 本地模型路径
  7. --itn-dir modelscope model ID 或者 本地模型路径
  8. --port  服务端监听的端口号,默认为 10095
  9. --decoder-thread-num  服务端线程池个数(支持的最大并发路数),
  10.                       **建议每路分配1G显存,即20G显存可配置20路并发**
  11. --io-thread-num  服务端启动的IO线程数
  12. --model-thread-num  每路识别的内部线程数(控制ONNX模型的并行),默认为 1,
  13.                     其中建议 decoder-thread-num*model-thread-num 等于总线程数
  14. --certfile  ssl的证书文件,默认为:../../../ssl_key/server.crt,如果需要关闭ssl,参数设置为0
  15. --keyfile   ssl的密钥文件,默认为:../../../ssl_key/server.key
  16. --hotword   热词文件路径,每行一个热词,格式:热词 权重(例如:阿里巴巴 20),
  17.             如果客户端提供热词,则与客户端提供的热词合并一起使用,服务端热词全局生效,客户端热词只针对对应客户端生效。
复制代码
 本人喜好直接运行,方便看有没有报错(这里启动的时候,报错,有个python库=onnxruntime不存在需要pip install onnxruntime,cpu版本安装的时候这个库是在的,警告可以不消分析)
  1. cd /workspace/FunASR/runtime/websocket/build/bin
  2. #这里参数可以参考原文档来设定,因为我模型下载好了,所以路径就是/workspace/models/damo
  3. ./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)
  1. python3 funasr_wss_client.py --host "127.0.0.1" --port 10095 --mode offline \
  2.         --audio_in "../audio/asr_example.wav" --output_dir "./results"
复制代码


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

用户云卷云舒

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表