首页 > 其他分享 >triton部署基于wenet的流式asr服务

triton部署基于wenet的流式asr服务

时间:2023-10-20 11:58:15浏览次数:49  
标签:triton asr -- onnx model txt wenet dir

1、docker镜像下载

下载链接:https://catalog.ngc.nvidia.com/orgs/nvidia/containers/tritonserver/tags

或者直接 docker pull nvcr.io/nvidia/tritonserver:23.01-py3

 

2、克隆wenet项目

git clone https://github.com/wenet-e2e/wenet.git

3、下载预训练模型,下载链接

https://github.com/wenet-e2e/wenet/blob/main/docs/pretrained_models.en.md

模型文件主要有以下四个文件:

  • final.pt 模型参数文件
  • global_cmvn 归一化单数文件
  • train.yaml  训练配置文件
  • words.txt   字表映射文件

 

4、模型转onnx格式

model_dir =./ 20210618_u2pp_conformer_exp模型实际位置

onnx_model_dir = onnx模型导出位置

python3 wenet/bin/export_onnx_gpu.py --config=$model_dir/train.yaml --checkpoint=$model_dir/final.pt --cmvn_file=$model_dir/global_cmvn --ctc_weight=0.5 --output_onnx_dir=$onnx_model_dir --fp16

onnx格式模型有以下几个文件

  • config.yaml 模型配置文件
  • decoder_fp16.onnx
  • decode.onnx
  • encoder_fp16.onnx
  • encoder.onnx
  • global_cmvn 归一化单数文件
  • train.yaml  训练配置文件
  • words.txt   字表映射文件

 

5、配置文件拷贝

cp $model_dir/words.txt $model_dir/train.yaml $onnx_model_dir/

cp $model_dir/words.txt  $onnx_model_dir/unit.txt

 

6、启动容器:

docker run --gpus '"device=0"' -itd  -p 8000:8000 -p 8001:8001 -p 8002:8002 --shm-size=1g --ulimit memlock=-1 --name triton_server nvcr.io/nvidia/tritonserver:23.01-py3

 

7、模型脚本拷贝到容器或启动模型时做路径映射

docker cp ./wenet/runtime/gpu/model_repo_stateful 容器ID:/ws/model_repo/

docker cp ./output_onnx_model 容器ID:/ws/onnx_model/

docker cp /home/ai_data2/jaxyu/wenet/runtime/gpu/scripts 容器ID:/workspace/

 

8、容器环境搭建或基于triton_server重新build一个镜像

  • apt-get update
  • apt-get -y install swig
  • apt-get -y install python3-dev
  • apt-get install -y cmake
  • pip3 install torch=2.0.1 torchaudio -i https://pypi.tuna.tsinghua.edu.cn/simple/
  • pip3 install -v kaldifeat pyyaml onnx -i https://pypi.tuna.tsinghua.edu.cn/simple/
  • cd /workspace
  • git clone https://github.com/Slyne/ctc_decoder.git && cd ctc_decoder/swig && bash setup.sh
  • export PYTHONPATH=/root/.local/lib/python3.8/site-packages:/root/.local/lib/python3.8/site-packages/swig_decoders-1.1-py3.8-linux-x86_64.egg:$PYTHONPATH

 

 

9、启动服务

cd  /workspace

sh  ./scripts/convert_start_server.sh

 

 

10、报错信息处理

报错一:No module named 'swig_decoders' 

export PYTHONPATH=/root/.local/lib/python3.8/site-packages:/root/.local/lib/python3.8/site-packages/swig_decoders-1.1-py3.8-linux-x86_64.egg:$PYTHONPATH

报错二:FileNotFoundError: [Errno 2] No such file or directory: '/ws/onnx_model/units.txt' 

cp /ws/onnx_model/words.txt /ws/onnx_model/units.txt

 

标签:triton,asr,--,onnx,model,txt,wenet,dir
From: https://www.cnblogs.com/jax-/p/17776737.html

相关文章

  • 记录TritonServer部署多模型到多GPU踩坑 | 京东云技术团队
    一、问题是怎么发现的部署chatglm2和llama2到一个4*V100的GPU机器上遇到问题config.pbtxt中设置模型分别在指定gpu上部署实例配置不生效如以下配置为在gpu0上部署本模型,部署count=1个实例,在gpu1上部署本模型,部署count=2个实例instance_group[{count:1kind:KIND_GPU......
  • 记录TritonServer部署多模型到多GPU踩坑 | 京东云技术团队
    一、问题是怎么发现的部署chatglm2和llama2到一个4*V100的GPU机器上遇到问题config.pbtxt中设置模型分别在指定gpu上部署实例配置不生效如以下配置为在gpu0上部署本模型,部署count=1个实例,在gpu1上部署本模型,部署count=2个实例instance\_group\[{count:1kind:KIND\_GPUgpu......
  • 记录TritonServer部署多模型到多GPU踩坑 | 京东云技术团队
    一、问题是怎么发现的部署chatglm2和llama2到一个4*V100的GPU机器上遇到问题config.pbtxt中设置模型分别在指定gpu上部署实例配置不生效如以下配置为在gpu0上部署本模型,部署count=1个实例,在gpu1上部署本模型,部署count=2个实例instance\_group\[{count:1kind:KIND\_GPUgpu......
  • Whisper + NemoASR + ChatGPT 实现语言转文字、说话人识别、内容总结等功能
    引言2023年,IT领域的焦点无疑是ChatGPT,然而,同属OpenAI的开源产品Whisper似乎鲜少引起足够的注意。Whisper是一款自动语音识别系统,可以识别来自99种不同语言的语音并将其转录为文字。如果说ChatGPT为计算机赋予了大脑,那么Whisper则为其赋予了耳朵。想象一下,在企业应用领域,我们能......
  • paddlespeech asr脚本demo
     概述paddlespeech是百度飞桨平台的开源工具包,主要用于语音和音频的分析处理,其中包含多个可选模型,提供语音识别、语音合成、说话人验证、关键词识别、音频分类和语音翻译等功能。本文介绍利用ps中的asr功能实现批量处理音频文件的demo。环境centos7.9Python3.10.3paddl......
  • Asrock-Z690-PG-Reptide i5-13600kf电脑 Hackintosh 黑苹果引导文件
    硬件配置(需要下载请百度搜索:黑果魏叔)硬件型号驱动情况主板AsrockZ690PGReptide处理器i5-13600kfRaptorLake(Undervolted)已驱动内存2x16GbDDR43600ADATAXPG已驱动硬盘1TbNetacNV7000NVMEM2(PCI-e4.0)已驱动显卡RadeonRX6600PowerColorFighter8Gb已驱动声卡瑞昱......
  • chatglm2-6b模型在9n-triton中部署并集成至langchain实践
    一.前言近期,ChatGLM-6B的第二代版本ChatGLM2-6B已经正式发布,引入了如下新特性:①.基座模型升级,性能更强大,在中文C-Eval榜单中,以51.7分位列第6;②.支持8K-32k的上下文;③.推理性能提升了42%;④.对学术研究完全开放,允许申请商用授权。目前大多数部署方案采用的是fastapi+uvi......
  • ASR 语音唤醒
    what语音唤醒,即关键词检索(keywordspotting)用语音唤醒设备,让设备由休眠状态切换至工作状态。How持续监听,匹配到唤醒词和声纹后,将应用切换到工作状态。一些实现百度语音唤醒snowboywekws......
  • ElasticSeasrch
    一、简介 Elasticsearch 是一个非常强大的搜索引擎,Elasticsearch 是一个分布式、免费和开放的搜索和分析引擎,适用于所有类型的数据,包括文本、数字、地理空间、结构化和非结构化数据。Elasticsearch可用于多种用例:应用搜索网站搜索企业搜索日志记录和日志分析基础设......
  • 尝试调整lazasrus的SynEdit字体宽度
    lazasrus的SynEdit字体宽度和自带的控件在相同的字体时是不一样的,使用不同字体,字距相差非常大。lazarusIDE的代码编辑器使用SynEdit,也存在同样情况,为改善这情况,近日抽空修改了SynEdit的代码,用最简单的方法处理这个问题(不算完善)。修改方法:打开/lazarus/components/synedit/synte......