首页 > 其他分享 >Paddlpaddle+DeepSpeech2自动语音识别部署

Paddlpaddle+DeepSpeech2自动语音识别部署

时间:2023-06-02 12:05:19浏览次数:44  
标签:Paddlpaddle -- sudo models num 语音 nvidia docker DeepSpeech2


Paddlpaddle+DeepSpeech2自动语音识别部署

背景

语音识别

环境

  1. DeepSpeech2
  2. Paddlpaddle1.8.5
  3. Python 2.7
  4. Nvidia-docker
  5. ubuntu1~18.04

安装与配置

可以不使用nvidia-docker,直接跳到第五步

1.首先安装nvidia-docker
curl https://get.docker.com | sh
sudo systemctl start docker && sudo systemctl enable docker
# 设置stable存储库和GPG密钥:
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list

# 要访问experimental诸如WSL上的CUDA或A100上的新MIG功能之类的功能,您可能需要将experimental分支添加到存储库列表中.
# 可加可不加
curl -s -L https://nvidia.github.io/nvidia-container-runtime/experimental/$distribution/nvidia-container-runtime.list | sudo tee /etc/apt/sources.list.d/nvidia-container-runtime.list

# nvidia-docker2更新软件包清单后,安装软件包(和依赖项):
sudo apt-get update

sudo apt-get install -y nvidia-docker2

# 设置默认运行时后,重新启动Docker守护程序以完成安装:
sudo systemctl restart docker
2.下载Docker镜像
sudo nvidia-docker pull hub.baidubce.com/paddlepaddle/deep_speech_fluid:latest-gpu
3.下载资源库
git clone https://github.com/PaddlePaddle/DeepSpeech.git
4.运行Docker镜像
#/home/aiuser/test/nvidia-docker 是你的当前目录 我试过 ${pwd} 但是 echo ${pwd} 是空的 但是 pwd有显示
sudo nvidia-docker run -it -p 0.0.0.0:8086:8086 -v /home/aiuser/test/nvidia-docker/DeepSpeech:/DeepSpeech hub.baidubce.com/paddlepaddle/deep_speech_fluid:latest-gpu /bin/bash
5.安装依赖库
apt-get install -y pkg-config libflac-dev libogg-dev libvorbis-dev libboost-dev swig python-dev
#之前安装过的可以跳过
git clone https://github.com/PaddlePaddle/DeepSpeech.git
cd DeepSpeech
sh setup.sh

6.安装paddlepaddle

#python2.7
python -m pip install paddlepaddle-gpu==1.8.5.post107 -i https://mirror.baidu.com/pypi/simple

开始

完整训练可以参考这个页面,这里直接使用预训练模型

https://github.com/PaddlePaddle/DeepSpeech/blob/develop/README_cn.md#%E5%BC%80%E5%A7%8B

cd DeepSpeech
#下载预训练模型
bash models/aishell/download_model.sh

#启动演示服务
CUDA_VISIBLE_DEVICES=0 \
python deploy/demo_server.py \
--host_ip 0.0.0.0 \
--host_port 8086

#Aishell
CUDA_VISIBLE_DEVICES=0 \
python deploy/demo_server.py \
--host_ip 0.0.0.0 \
--host_port 8086
--num_samples=10 \
--beam_size=300 \
--num_proc_bsearch=8 \
--num_conv_layers=2 \
--num_rnn_layers=3 \
--rnn_layer_size=1024 \
--alpha=2.6 \
--beta=5.0 \
--cutoff_prob=0.99 \
--cutoff_top_n=40 \
--use_gru=True \
--use_gpu=True \
--share_rnn_weights=False \
--infer_manifest='models/aishell/manifest.test' \
--mean_std_path='models/aishell/mean_std.npz' \
--vocab_path='models/aishell/vocab.txt' \
--model_path='models/aishell' \
--lang_model_path='models/lm/zh_giga.no_cna_cmn.prune01244.klm' \
--decoding_method='ctc_beam_search' \
--error_rate_type='cer' \
--specgram_type='linear'

#baidu
CUDA_VISIBLE_DEVICES=0 \
python deploy/demo_server.py \
--host_ip 0.0.0.0 \
--host_port 8086
--num_samples=10 \
--beam_size=300 \
--num_proc_bsearch=8 \
--num_conv_layers=2 \
--num_rnn_layers=3 \
--rnn_layer_size=1024 \
--alpha=2.6 \
--beta=5.0 \
--cutoff_prob=0.99 \
--cutoff_top_n=40 \
--use_gru=True \
--use_gpu=True \
--share_rnn_weights=False \
--infer_manifest='models/baidu_en8k/manifest.test' \
--mean_std_path='models/baidu_en8k/mean_std.npz' \
--vocab_path='models/baidu_en8k/vocab.txt' \
--model_path='models/baidu_en8k' \
--lang_model_path='models/lm/zh_giga.no_cna_cmn.prune01244.klm' \
--decoding_method='ctc_beam_search' \
--error_rate_type='cer' \
--specgram_type='linear'

遇到的问题

1.启动docker报错

docker: Error response from daemon: OCI runtime create failed: container_linux.go:370: starting container process caused: process_linux.go:459: container init caused: Running hook #1:: error running hook: exit status 1, stdout: , stderr: nvidia-container-cli: initialization error: nvml error: driver/library version mismatch: unknown.

是因为驱动不一致导致,重装显卡驱动

2.启动docker报错

nvidia-docker 没有注册 docker: Error response from daemon: Unknown runtime specified nvidia.

Systemd drop-in file

sudo mkdir -p /etc/systemd/system/docker.service.d
sudo tee /etc/systemd/system/docker.service.d/override.conf <<EOF
[Service]
ExecStart=
ExecStart=/usr/bin/dockerd --host=fd:// --add-runtime=nvidia=/usr/bin/nvidia-container-runtime
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

Daemon configuration file

sudo tee /etc/docker/daemon.json <<EOF
{
    "runtimes": {
        "nvidia": {
            "path": "/usr/bin/nvidia-container-runtime",
            "runtimeArgs": []
        }
    }
}
EOF
sudo pkill -SIGHUP dockerd


标签:Paddlpaddle,--,sudo,models,num,语音,nvidia,docker,DeepSpeech2
From: https://blog.51cto.com/u_16015778/6401422

相关文章

  • Tacotron2+Tensorflow1.1+FALSK 语音合成
    Tacotron2+Tensorflow1.1+FALSK语音合成背景需要语音播报设备的名称和异常状态环境Tacotron2Tensorflow1.1python3.6miniconda4.8.3标贝数据源安装与配置首先安装miniconda1.下载,使用清华下载源,进入miniconda下载页面https://mirrors.tuna.tsinghua.edu.cn/help/anaconda/http......
  • C语音基本语法
    语句 C语言的代码由一行行语句(statement)组成。语句就是程序执行的一个操作命令。C语言规定,语句必须使用分号结尾,除非有明确规定可以不写分号。intx=1;上面就是一个变量声明语句,声明整数变量x,并且将值设为1。多个语句可以写在一行。intx;x=1;上面示例是两个语句写在一行。......
  • 微信语音功能测试点__肖sir__测试点整理
    微信语音测试点=========================1、实效性:发送的语音消息是不是能够及时的收到,有没有延迟2、总时长:发送语音的最长时间是多少3、使用性:发送语音的按键是否灵敏4、其他:在发送语音的时候是否影响其他的功能5、耳机:佩戴耳机使用麦克是否能正常的发送微信语音6、弱网......
  • 语音翻译软件,语音翻译软件推荐!​
    语音翻译软件,语音翻译是一种将口语语言转化为另一种口语语言的技术。它使用了语音识别技术将声音转化为文字,并使用机器翻译技术将文本翻译成目标语言的文本,最后将目标语言的文本转化为口语输出,这种操作一般需要专业的软件来进行,下面小编也是给大家整理了一下,感兴趣的小伙伴一起来看......
  • 语音识别,语音转文字,会议记录自动化,Meeting Note, Speech to Note
    经过百般测试,实践了Python的方案,实现:可以识别英语,但是断句和整句话的整理还是不尽人意。 还不如下面这个产品 Speechnoteshttps://speechnotes.co/dictate/   Pyhton的方案实践记录(部分):cd/Users/***/opt/anaconda3/bin/ ./jupyternotebook ItwillopenupB......
  • eSpeek实现中文文字转语音功能
      最近业务上面有个文字转语音的想法,搜了下espeak可以实现这部分功能,搞下来试试效果!一、源码包下载  1、下载pa_stable_v190700_20210406.tgz   http://www.portaudio.com/download.html   2、下载espeak-1.48.04-source.zip   http://espeak.source......
  • 李宏毅语音课程-RNN-T模型
    rnn-tdecoder:给一个输入h,输出多个字符直到输出空字符Φ。接着输入下一个MCCC特征实际会在输出字符的后面会加一个RNN(最上面的蓝色块)。把原来的RNN剔除(中间黄色块)。原因:1.增加的RNN相当于一个语言模型LM,可以提前从text中训练。2.方便RNN-T的训练。  训练时:穷举所......
  • 语音聊天APP开发流程
     语音聊天APP开发流程如下: 1.需求分析和UI设计: 对客户需求进行沟通和分析,根据需求确定APP的功能、UI设计和交互流程; 2.技术选型和架构设计: 根据需求和功能要求,选择合适的技术和框架,进行APP架构设计; 3.编码和开发: 根据UI设计和架构设计,进行APP编码和开发,实现......
  • 终于搞定Windows下Libjingle+Linphone Voice Engine的语音通信
    Libjingle在Windows下的语音引擎默认的是GIPS,但是GIPS虽然好但是收费的,而且自从被Google收购后其网站处于瘫痪状态.而Libjingle在Linux下的语音引擎则是开源的Linphone.既然Linphone支持多平台而且有Windows版本,那么为何在Windows下不也使用Linphone作为语音引擎呢? 经过......
  • GMM-HMM在语音中的训练及和预测的简要流程
    GMM-HMM:包含3个状态,每个状态由一个GMM混合高斯分布(u,D,pi),每个混合高斯分布包含pi个高斯函数 单个因素的训练过程trainging训练阶段:1.每个triphone三音子对应一个GMM-HMM。训练时先对齐找到每个triphone(GMM-HMM)的音频特征MFCC序列X,2.还要分别确定MFCC序列X里哪些序列属......