UBUNTU搭建DEEPSPEECH语音转录系统

介绍

Mozilla开源了百度的DeepSpeech,实际上模型的关键突破在于既提高了速度,也提高了准确性,其提升来源于RNN的结构设计,还有匹配的并行化方案。开源的版本由于修改了CTCLoss的计算op,因此配置上比较恶心,需要一个特定版本的tensorflow,实际上我们可以通过修改代码,直接将WarpCTC作为一个op动态加载进来。
DeepSpeech项目地址: https://github.com/mozilla/DeepSpeech
Test WarpCTC地址(暂时不会用到):https://github.com/baidu-research/warp-ctc

注意我们这里直接根据DeepSpeech的项目进行部署,不进行任何修改,也不手动引入WarpCTC。

安装

在介绍其原理前,我们首先将这个库跑起来。关键步骤实际上都在https://github.com/mozilla/DeepSpeech/blob/master/README.md中,但是由于其采用了一个修改的op,因此还是会出现一些坑。以下安装流程基于 Ubuntu 14.04 x86_64, python 2.7基础上。

使用模型

1、安装git large file storage
各平台的安装说明在https://github.com/git-lfs/git-lfs/blob/master/INSTALLING.md, 针对Ubuntu 14.04, 执行下面代码即可:

1
curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo bash

2、下载代码
安装完git-lfs之后,我们直接clone repo即可。

1
git clone https://github.com/mozilla/DeepSpeech

3、下载预训练好的文件(非必要)
项目自带了一个英文的语音识别模型,大小为1.2G,可以另开一个线程下载,用于deepspeech的尝试。由于下载时间较长,到这步可以放着下载,先做后面的步骤。

4、创建python虚拟环境
(当然也可以装在系统python中),这里起名字py27,注意要安装virtualenv。

1
2
virtualenv py27 --python=python2.7
source py27/bin/activate

5、安装deepspeech的python客户端(Python Binding)
deepspeech有预编译的二进制文件(也可以自己编译)

1
pip install deepspeech

到这一步已经能够完成了整个的使用了,具体的使用参数为:

1
deepspeech -h

6、安装deepspeech的二进制命令行客户端(python和命令行客户端任选其一即可,只是个客户端程序)

1
python util/taskcluster.py --target .

至此,仅仅使用deepspeech进行inferrence的情况下,配置完成,如果需要训练自己的模型,还需要进行下面的配置。

训练模型

要想训练模型,在完成使用模型相应的安装步骤后,还需要安装tensorflow训练库,由于使用了warpCTC,因此这里直接打包了一个修改过的tensorflow,个人认为没必要,还不如弄成一个独立的库。

1、 安装必要的库

1
2
3
4
cd DeepSpeech
python util/taskcluster.py --target /tmp --source tensorflow --artifact tensorflow_warpctc-1.4.0-cp27-cp27mu-linux_x86_64.whl
pip install /tmp/tensorflow_warpctc-1.4.0-cp27-cp27mu-linux_x86_64.whl
pip install -r requirements.txt

每一步都必须做完。

如果是mac系统下,安装这个tensorflow版本即可(实际上最好最为额外的op引入,我非常讨厌这样重新打包tensorflow的方式)

1
pip install https://index.taskcluster.net/v1/task/project.deepspeech.tensorflow.pip.osx.08894f64fc67b7a8031fc68cb838a27009c3e6e6/artifacts/public/tensorflow_warpctc-1.4.0-cp27-cp27m-macosx_10_12_x86_64.whl

2、 必须下载native client(也就是上面的python binding基础上不再是选择,而是必须下载)

1
python util/taskcluster.py --target .

3、 检查

1
./DeepSpeech.py --help

如果不出错,那么训练的环境配置完成。具体的训练步骤可以继续参考README.md.

问题列表

  • pip install deepspeech返回can not find …之类的
    1、首先确保python是合适的版本,如果不放心。
    1
    2
    sudo apt-get install python2.7 python2.7-dev build-essential libssl-dev libffi-dev python-dev
    pip install --upgrade pip

问题的原因实际上来自libssl和libffi,因为不能识别部分header导致不能够正确比对python版本要求等。

0%