当前位置: 首页 > news >正文

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

#当前安装过程没有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"

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 乡镇集装箱生活污水处理设备处理效率高
  • Linux--USB驱动开发(二)插入USB后的内核执行程序
  • 安卓 APK 安装过程详解
  • 深入理解Scikit-learn:决策树与随机森林算法详解
  • “12松”计划-1.0.1-星期一-冥想1.0.9
  • LabVIEW电容器充放电监测系统
  • 电气工程VR虚拟仿真实训平台以趣味化方式增强吸引力
  • ctf中php常见内容(比较、变量覆盖)
  • Unity最新第三方开源插件《Stateful Component》管理中大型项目MonoBehaviour各种序列化字段 ,的高级解决方案
  • C语言 | Leetcode C语言题解之第228题汇总区间
  • FastAPI 学习之路(四十一)定制返回Response
  • rollup打包工具
  • ArcGIS的智慧与情怀
  • 蚁剑编码器——高级
  • 骨头的诱惑
  • 【跃迁之路】【463天】刻意练习系列222(2018.05.14)
  • Android 控件背景颜色处理
  • canvas实际项目操作,包含:线条,圆形,扇形,图片绘制,图片圆角遮罩,矩形,弧形文字...
  • CSS相对定位
  • css属性的继承、初识值、计算值、当前值、应用值
  • GitUp, 你不可错过的秀外慧中的git工具
  • Javascripit类型转换比较那点事儿,双等号(==)
  • Linux快速复制或删除大量小文件
  • Netty源码解析1-Buffer
  • PhantomJS 安装
  • Redis在Web项目中的应用与实践
  • sessionStorage和localStorage
  • vue.js框架原理浅析
  • 得到一个数组中任意X个元素的所有组合 即C(n,m)
  • 如何编写一个可升级的智能合约
  • 如何将自己的网站分享到QQ空间,微信,微博等等
  • 深入浅出webpack学习(1)--核心概念
  • 使用docker-compose进行多节点部署
  • 温故知新之javascript面向对象
  • 找一份好的前端工作,起点很重要
  • 中国人寿如何基于容器搭建金融PaaS云平台
  • Redis4.x新特性 -- 萌萌的MEMORY DOCTOR
  • 好程序员大数据教程Hadoop全分布安装(非HA)
  • ​14:00面试,14:06就出来了,问的问题有点变态。。。
  • #include<初见C语言之指针(5)>
  • (02)vite环境变量配置
  • (2)(2.4) TerraRanger Tower/Tower EVO(360度)
  • (二)linux使用docker容器运行mysql
  • (附源码)spring boot建达集团公司平台 毕业设计 141538
  • (未解决)macOS matplotlib 中文是方框
  • (五)MySQL的备份及恢复
  • .helper勒索病毒的最新威胁:如何恢复您的数据?
  • .NET大文件上传知识整理
  • .net开发引用程序集提示没有强名称的解决办法
  • .net与java建立WebService再互相调用
  • //TODO 注释的作用
  • /tmp目录下出现system-private文件夹解决方法
  • @manytomany 保存后数据被删除_[Windows] 数据恢复软件RStudio v8.14.179675 便携特别版...
  • @SuppressWarnings(unchecked)代码的作用
  • [C#]C# OpenVINO部署yolov8图像分类模型