安装DeepSpeech2(GPU)实现语音识别
电脑配置:win10专业版
文章目录
一、安装pycharm(GPU)
参考链接:Pycharm如何配置GPU环境(win10搭建DL环境)
1、查看电脑NVIDIA能支持的最高的CUDA版本
2、安装paddlepaddle-gpu
安装步骤参考链接:里面说不是rtx的就选cuda10.2的版本
安装Paddlepaddle-gpu,按理来说我得安对应的cuda11.4版本的,但是只有几个版本能选:就选了10.2的先试一下
conda install paddlepaddle-gpu==2.3.2 cudatoolkit=10.2 --channel https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/Paddle/
这里纠正下步骤:
1、查看nvidia控制面板查看最高能支持多大的cuda版本,本机是11.4
2、看下paddlepaddle能支持的版本选最接近11.4的低级版本即11.2,我这里根据上面链接选了cuda10.2
3、安装cuda10.2和对应的cudnn版本
安装步骤:先把刚刚的虚拟环境激活了,然后再把上一个链接得到的一串代码复制粘贴一下,下载过程中断就多下几次
要是还是死活下不下来就:
更多旧版本的paddlepaddle-gpu
conda install paddlepaddle-gpu cudatoolkit=11.0 -c paddle
还不行去下面这个网址下whl包自己装吧:
https://www.paddlepaddle.org.cn/whl/stable.html
下好了whl包我放在C:\Users\67776\.conda\envs\py37\Lib\site-packages
如何安装whl包:
https://blog.csdn.net/sika_deer/article/details/120618659?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522166848501916782428647159%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=166848501916782428647159&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v1~times_rank-7-120618659-null-null.142^v63^control,201^v3^add_ask,213^v2^t3_control2&utm_term=%E5%AE%89%E8%A3%85whl%E5%8C%85&spm=1018.2226.3001.4187
3、下载对应的CUDA版本(上一步安装paddlepaddle-gpu已顺带下载,可跳过,下面是踩坑记录)
下载地址:cuda11.4.4
下载好了安装步骤参照:3.cuda安装
4、下载对应的cudnn版本(上一步安装paddlepaddle-gpu已顺带下载,可跳过,下面是踩坑记录)
下载地址:Download cuDNN v8.6.0 (October 3rd, 2022), for CUDA 11.x
安装步骤参考:3.3 cudnn 安装
(2)解压文件,将文件中的bin,include,lib三个文件夹复制到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.4文件夹中;
(3)查看安装情况,Win+R输入cmd,在命令行中输入代码cd C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.4\extras\demo_suite;在demo中输入bandwidthTest.exe,返回Result = PASS,再输入deviceQuery.exe,返回Result = PASS,则说明 cudnn 安装没问题。
5、安装Anaconda
下载地址:官网
安装步骤参考: Anaconda安装
1.all users
2.D:\ProgramData\Anaconda3
3.后面手动配置环境变量,不勾选第一项,2022.11最新版本Anaconda安装的是Python3.9
4.安装完成,手动配置环境:系统环境变量path里面加下面4个
D:\ProgramData\Anaconda3
D:\ProgramData\Anaconda3\Scripts
D:\ProgramData\Anaconda3\Library\bin
D:\ProgramData\Anaconda3\Library\mingw-w64\bin
5.检查下安装配置是否成功
6.修改为清华源
7.打开Anaconda Navigation发现可以,一定不要更新!!更新了就会一直loading进不去
如果你更新了,那么
将anaconda3\Lib\site-packages\anaconda_navigator\api\conda_api.py
行1499 把 data = yaml.full_load(f)改为 data = yaml.safeload(f)
改完代码重启电脑
6、安装pycharm
下载地址:选的社区版,专业版其实学生认证以后也能用
安装步骤参考:安装pycharm
1.D:\Program Files\JetBrains\PyCharm Community Edition 2022.2.3
2.全勾选
3.不改:JetBrains
7、安装Python3.7(这步可以跳过)
1.自定义安装,并勾选添加到path
2.安装路径:D:\Python\Python37
提示:以下是本篇文章正文内容,下面案例可供参考
二、Anaconda创建虚拟环境并应用在pycharm中
1.Anaconda创建虚拟环境
参考链接:我把虚拟环境的名字命名为py37
在这里发现他自己本来就能在安虚拟环境的时候下python3.7,前面可以不自己装,自动安装的位置在:c:\Users\67776.comda\envs\py37
2.应用在pycharm中
参考链接:就是解释器-conda圆圈标识-已存在环境选择一下就行
三、下载并运行DeepSpeech2 语音识别模型
1.模型代码下载
再安装下requrement.txt(这里我填的自己安装的路径,自己安装在哪就改成哪)
python -m pip install -r D:\Python\PythonProject\PaddlePaddle-DeepSpeech-master\requirements.txt -i https://mirrors.aliyun.com/pypi/simple/
- 其中tpytest-runner、Levenshtein、webrtcvad安装失败,暂缓。
- 记得scipy不能用requirements.txt那个版本的,那个版本太低了,之后无法生成npz文件,装符合你环境的最高等级,我最后装的是1.7.3版本
2.数据准备
要是不训练自己的数据集或者只想调用一下模型其实可以略。
2.1训练自己的数据集:
1.语音文件需要放在PaddlePaddle-DeepSpeech/dataset/audio/目录下,例如我们有个wav的文件夹,里面都是语音文件,我们就把这个文件存放在PaddlePaddle-DeepSpeech/dataset/audio/。
2.然后把数据列表文件存在PaddlePaddle-DeepSpeech/dataset/annotation/目录下,程序会遍历这个文件下的所有数据列表文件。例如这个文件下存放一个my_audio.txt,它的内容格式如下。每一行数据包含该语音文件的相对路径和该语音文件对应的中文文本,要注意的是该中文文本只能包含纯中文,不能包含标点符号、阿拉伯数字以及英文字母
3.数据列表文件内容如下
(格式:路径(一个空格)识别的话语)
dataset/audio/wav\nari1.wav 合上一一一九桃川一线丙丁一刀闸
dataset/audio/wav\nari2.wav 一一一九桃川一线丙丁一刀闸已经合上
dataset/audio/wav\nari3.wav 正确执行
dataset/audio/wav\nari4.wav 姓名
一定要注意这个格式哈,不然之后运行create_data.py时会出现no len问题,出现这个问题就去改create_data.py脚本里create_manifest函数获取wav路径和语音识别出来的文字的代码,如下:
audio_path = line.split()[0]
text = is_ustr(line.split()[1].replace('\n', '').replace('\r', ''))
这两句重点关注一下,其实本来是line.split(\t)[1],我自己改成根据空格划分line了。
4.最后执行数据集处理脚本create_data.py,这个是把我们的数据集生成三个JSON格式的数据列表,分别是manifest.test、manifest.train、manifest.noise。然后建立词汇表,把所有出现的字符都存放子在zh_vocab.txt文件中,一行一个字符。最后计算均值和标准差用于归一化,默认使用全部的语音计算均值和标准差,并将结果保存在mean_std.npz中。以上生成的文件都存放在PaddlePaddle-DeepSpeech/dataset/目录下。
5.create_data.py其实没有生成manifest.test里面的内容,打开manif.test是空白的,复制manifest.train里面的部分或者全部内容到manifest.test里面,不然没有测试数据后面train会报错。
2.2用已有大型语音数据集训练
数据集下载链接:1.免费的比较慢,可以用迅雷下
2.AI柠檬里面很多语音识别数据集,有网盘链接,比较快
我下好了放在:D:\Python\PythonProject\PaddlePaddle-DeepSpeech-master\download_data
如果下的是zip文件,记得把数据准备中解压缩文件里的Unpack改成unzip
原作者给的csdn站内下载链接,只有预训练模型,没有数据集,有这个预训练模型可以直接跳到导出模型
3、训练模型
要是不训练自己的数据集或者只想调用一下模型其实可以略。
运行train.py。前面做好了应该就没坑,有坑就是前面没做好。
4、评估模型
可略,我没做,运行eval.py。
5、导出模型
运行export_model.py就行
6、本地预测
运行infer_path.py报错No module named ‘webrtcvad’
直接pip install报错一堆
error: subprocess-exited-with-error
× python setup.py bdist_wheel did not run successfully.
│ exit code: 1
╰─> [9 lines of output]
running bdist_wheel
running build
running build_py
creating build
creating build\lib.win-amd64-cpython-37
copying webrtcvad.py -> build\lib.win-amd64-cpython-37
running build_ext
building '_webrtcvad' extension
error: Microsoft Visual C++ 14.0 or greater is required. Get it with "Microsoft C++ Build Tools": https://visualstudio.microsoft.com/visual-cpp-build-tools/
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for webrtcvad
Running setup.py clean for webrtcvad
Failed to build webrtcvad
Installing collected packages: webrtcvad
Running setup.py install for webrtcvad ... error
error: subprocess-exited-with-error
× Running setup.py install for webrtcvad did not run successfully.
│ exit code: 1
╰─> [11 lines of output]
running install
C:\Users\67776\.conda\envs\py37\lib\site-packages\setuptools\command\install.py:37: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.
setuptools.SetuptoolsDeprecationWarning,
running build
running build_py
creating build
creating build\lib.win-amd64-cpython-37
copying webrtcvad.py -> build\lib.win-amd64-cpython-37
running build_ext
building '_webrtcvad' extension
error: Microsoft Visual C++ 14.0 or greater is required. Get it with "Microsoft C++ Build Tools": https://visualstudio.microsoft.com/visual-cpp-build-tools/
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
error: legacy-install-failure
× Encountered error while trying to install package.
╰─> webrtcvad
note: This is an issue with the package mentioned above, not pip.
hint: See above for output from the failure.
解决办法:安装c++14,安装的链接用下面那个
c++14安装链接
装完以后就可以正常预测了。
总结
提示:这里对文章进行总结:
感谢原作者夜雨飘零!大大人很好,有问题可以在Issue上向原作者提问,大大回复得非常快。