阿里新开源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"

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/45149.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ES索引模板

在Elasticsearch中,索引模板(Index Templates)是用来预定义新创建索引的设置和映射的一种机制。当你创建了一个索引模板,它会包含一系列的默认设置和映射规则,这些规则会在满足一定条件的新索引被创建时自动应用。 索…

UOS查看系统信息命令行

UOS查看系统信息命令行 *** Rz整理 仅供参考 *** dmidecode查看System Boot信息 midecode -t 32 dmidecode查看System Reset信息 midecode -t 23 dmidecode查看机箱信息 midecode -t chassis dmidecode查看BIOS信息 midecode -t bios dmidecode查看CPU信息 dmidecode …

leetcode 404. 左叶子之和

给定二叉树的根节点 root ,返回所有左叶子之和。 示例 1: 输入: root [3,9,20,null,null,15,7] 输出: 24 解释: 在这个二叉树中,有两个左叶子,分别是 9 和 15,所以返回 24示例 2: 输入: root [1] 输出: 0提示: 节点…

Linux 下使用Docker安装redis

redis: 是一个高性能的,键值对的,将数据存储到内存中的非关系型数据库(nosql数据库 not only sql) 高性能:数据存在内存中,直接访问内存 键值对:新闻id(键&#xff09…

c++数据结构--构造无向图(算法6.1),深度和广度遍历

实验内容: 实现教材算法6.2利用邻接矩阵构造无向图的算法,提供从邻接矩阵获得邻接表的功能,在此基础上进行深度优先遍历和广度优先遍历。 实验步骤: (1)按照实验要求编写代码,构造无向图。 …

浅谈数学模型在UGC/AIGC游戏数值调参中的应用(AI智能体)

浅谈数学模型在UGC/AIGC游戏数值调参中的应用 ygluu 卢益贵 关键词:UGC、AIGC、AI智能体、大模型、数学模型、游戏数值调参、游戏策划 一、前言 在策划大大群提出《游戏工厂:AI(AIGC/ChatGPT)与流程式游戏开发》讨论之后就已完…

Hi3861 OpenHarmony嵌入式应用入门--HTTPD

httpd 是 Apache HTTP Server 的守护进程名称,Apache HTTP Server 是一种广泛使用的开源网页服务器软件。 本项目是从LwIP中抽取的HTTP服务器代码; Hi3861 SDK中已经包含了一份预编译的lwip,但没有开启HTTP服务器功能(静态库无法…

NiFi1.25版本HTTPS模式下RestAPI使用入门

Apache NiFi 是一个强大的数据流处理工具,通过其 REST API,用户可以远程管理和控制数据流处理器。本文将介绍如何使用 NiFi 1.25 版本HTTPS 模式下Rest API,包括获取 token、获取组件信息、启动和停止组件、以及更改组件的调度频率等操作。 …

Linux vim文本编辑器

Vim(Vi IMproved)是一个高度可配置的文本编辑器,它是Vi编辑器的增强版本,广泛用于程序开发和系统管理。Vim不仅保留了Vi的所有功能,还增加了许多新特性,使其更加强大和灵活。 Vim操作模式 普通模式&#xf…

科普文:微服务之Apollo配置中心

1. 基本概念 由于Apollo 概念比较多,刚开始使用比较复杂,最好先过一遍概念再动手实践尝试使用。 1.1、背景 随着程序功能的日益复杂,程序的配置日益增多,各种功能的开关、参数的配置、服务器的地址……对程序配置的期望值也越来…

在 C++中,如何使用智能指针来有效地管理动态分配的内存,并避免内存泄漏的问题?

在C中,可以使用智能指针来有效地管理动态分配的内存,避免内存泄漏的问题。下面是一些常用的智能指针类型和操作: std::unique_ptr: std::unique_ptr是C11引入的一种独占式智能指针,它拥有对分配的内存的唯一所有权。当…

026-GeoGebra中级篇-曲线(2)_极坐标曲线、参数化曲面、分段函数曲线、分形曲线、复数平面上的曲线、随机曲线、非线性动力系统的轨迹

除了参数曲线、隐式曲线和显式曲线之外,还有其他类型的曲线表示方法。本篇主要概述一下极坐标曲线、参数化曲面、分段函数曲线、分形曲线、复数平面上的曲线、随机曲线、和非线性动力系统的轨迹,可能没有那么深,可以先了解下。 目录 1. 极坐…

「网络通信」HTTP 协议

HTTP 🍉简介🍉抓包工具🍉报文结构🍌请求🍌响应🍌URL🥝URL encode 🍌方法🍌报文字段🥝Host🥝Content-Length & Content-Type🥝User…

运动控制问题

第一类运动控制问题是指被控制对象的空间位置或轨迹运动发生改变的运动控制系统的控制问题。这类运动控制问题在理论上完全遵循牛顿力学定律和运动学原则。 1、运动控制问题 第1类运动控制的核心是研究被控对象的运动轨迹 、分析运动路径、运动速度、加速度与时间的关系,常用…

深入解析PHP框架:Symfony框架详解与应用

文章目录 深入解析PHP框架:Symfony框架详解与应用一、什么是Symfony?Symfony的优势 二、Symfony的核心概念1. 控制器2. 路由3. 模板4. 服务容器5. 事件调度器 三、Symfony的主要功能1. 表单处理2. 数据库集成3. 安全性4. 国际化5. 调试与日志 四、开发流…

记一次docker容器安装MySQL,navicat无法连接报错(10060错误)

今天在云服务器上使用docker部署mysql 8.0.11时,遇到了一个诡异的问题,在云服务器的docker容器内可以连接上mysql,然而在自己电脑上连接mysql时报错:Can‘t connect to MySQL server on localhost (10060) 下面是网上搜寻的几种可…

SpringMVC框架--个人笔记步骤总结

一、步骤 1.创建工程 2.加入springmvc依赖--pom.xml <!--springmvc依赖--> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.2.10.RELEASE</version> </depend…

Camunda如何通过外部任务与其他系统自动交互

文章目录 简介流程图外部系统pom.xmllogback.xml监听类 启动流程实例常见问题Public Key Retrieval is not allowed的解决方法java.lang.reflect.InaccessibleObjectException 流程图xml 简介 前面我们已经介绍了Camunda的基本操作、任务、表&#xff1a; Camunda组件与服务与…

Linux命令更新-Vim 编辑器

简介 Vim 是 Linux 系统中常用的文本编辑器&#xff0c;功能强大、可扩展性强&#xff0c;支持多种编辑模式和操作命令&#xff0c;被广泛应用于程序开发、系统管理等领域。 1. Vim 命令模式 Vim 启动后默认进入命令模式&#xff0c;此时键盘输入的命令将用于控制编辑器本身&…

Android ImageDecoder把瘦高/扁平大图相当于fitCenter模式decode成目标小尺寸Bitmap,Kotlin

Android ImageDecoder把瘦高/扁平大图相当于fitCenter模式decode成目标小尺寸Bitmap&#xff0c;Kotlin val sz Size(MainActivity.SIZE, MainActivity.SIZE)val src ImageDecoder.createSource(mContext?.contentResolver!!, uri)val bitmap ImageDecoder.decodeBitmap(sr…