DeepSpeech v1安装与训练

1 安装git-lfs

curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.rpm.sh | sudo bash
sudo apt-get install git-lfs

这一步不能漏了,不安装这一步后面git clone获取的deepspeech代码没有相应的语言模型。会出现如下的错误:

Loading the LM will be faster if you build a binary file.
Reading data/lm/lm.binary
----5---10---15---20---25---30---35---40---45---50---55---60---65---70---75---80---85---90---95--100
terminate called after throwing an instance of 'lm::FormatLoadException'
  what():  native_client/kenlm/lm/read_arpa.cc:65 in void lm::ReadARPACounts(util::FilePiece&, std::vector<long unsigned int>&) threw FormatLoadException.
first non-empty line was "version https://git-lfs.github.com/spec/v1" not \data\. Byte: 43
Aborted (core dumped)

2   获取代码

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

3 创建DeepSpeech虚拟环境

在创建虚拟环境时,你将创建包含 python3 二进制文件的目录以及运行deepspeech所需。 你可以使用任何你想要的目录。 出于文档的目的,我们将依赖 $HOME/tmp/deepspeech-venv。 你可以使用以下命令创建它:

$ virtualenv -p python3 $HOME/tmp/deepspeech-venv/

成功完成这里命令后,环境将准备就绪,可以激活。

每次需要使用DeepSpeech时,都必须激活 activate 负载这个虚拟环境。 这是用这个简单的命令完成的:

$ source $HOME/tmp/deepspeech-venv/bin/activate

注意,没在虚拟环境下运行会出现错误

4 安装 DeepSpeech python-绑定

设置并加载环境后,可以使用 pip3 在本地管理包。 重新安装 virtualenv 时,你必须安装DeepSpeech轮。 你可以查看 pip3 list的输出来检查它是否已经安装。 要执行安装,只需发出以下命令:

$ pip3 install deepspeech

如果已经安装,你还可以更新它:

$ pip3 install --upgrade deepspeech

另外,如果你在 Linux (查看发行说明以查找支持哪些 GPU) 上拥有支持的NVIDIA GPU,则可以按如下方式安装GPU特定软件包:

$ pip3 install deepspeech-gpu

或者按如下方式更新它:

$ pip3 install --upgrade deepspeech-gpu

在这两种情况下,它都应该负责安装所有必需的依赖项。 完成后,你就可以在命令行中使用 deepspeech 调用示例二进制文件了。注意:以下命令假设你已经下载了预训练过的模型。

deepspeech --model models/output_graph.pbmm --alphabet models/alphabet.txt --lm models/lm.binary --trie models/trie --audio my_audio_file.wav

 下载训练好的模型

wget https://github.com/mozilla/DeepSpeech/releases/download/v0.4.1/deepspeech-0.4.1-models.tar.gz
tar xvfz deepspeech-0.4.1-models.tar.gz

5 使用pip安装所需的依赖项:

cd DeepSpeech
pip3 install -r requirements.txt

您还需要安装ds_ctcdecoder Python软件包,该软件包是将声学模型的输出解码为文本所必需的包。 我们的CI基础结构中提供了二进制文件,您可以使用util / taskcluster.py来获取解码器包的URL。 当您传递decoder选项时,脚本会将URL打印到适用于您的平台和Python版本的相应解码器包:

pip3 install $(python3 util/taskcluster.py --decoder)

如果你有能力的( Nvidia,至少 8GB的硬盘) GPU,强烈建议你安装TensorFlow支持GPU支持。 培训可能比使用CPU要快得多。 要启用GPU支持,你可以执行以下操作:

pip3 uninstall tensorflow
pip3 install 'tensorflow-gpu==1.12.0'

6 运行训练代码

bash ./bin/run-ldc93s1.sh

为后文的测试训练一个pb模型,需要对run-ldc93s1.sh做出一定的的修改,在原文后加一行代码,设置pb模型保存文件夹,--export_dir /root/DeepSpeech/data/ldc93s1,得到output_graph.pb

Downloading and preprocessing LDC93S1 example data, saving in ./data/ldc93s1.
+ python3 -u bin/import_ldc93s1.py ./data/ldc93s1
No path "./data/ldc93s1" - creating ...
No archive "./data/ldc93s1/LDC93S1.wav" - downloading...
Progress |                                                                                                                                                                                                                      | N/A% completedNo archive "./data/ldc93s1/LDC93S1.txt" - downloading...
Progress |######################################################################################################################################################################################################################| 100% completed
Progress |######################################################################################################################################################################################################################| 100% completed
+ '[' -d '' ']'
++ python3 -c 'from xdg import BaseDirectory as xdg; print(xdg.save_data_path("deepspeech/ldc93s1"))'
+ checkpoint_dir=/root/.local/share/deepspeech/ldc93s1
+ python3 -u DeepSpeech.py --train_files data/ldc93s1/ldc93s1.csv --dev_files data/ldc93s1/ldc93s1.csv --test_files data/ldc93s1/ldc93s1.csv --train_batch_size 1 --dev_batch_size 1 --test_batch_size 1 --n_hidden 494 --epoch 75 --export_dir lmmodel --checkpoint_dir /root/.local/share/deepspeech/ldc93s1 --export_dir /tmp/train
Preprocessing ['data/ldc93s1/ldc93s1.csv']
Preprocessing done
Preprocessing ['data/ldc93s1/ldc93s1.csv']
Preprocessing done
W Parameter --validation_step needs to be >0 for early stopping to work
I STARTING Optimization
I Training epoch 0...
I Training of Epoch 0 - loss: 350.212463                                                                                                                                                                                                        
100% (1 of 1) |###########################################################################################################################################################################################| Elapsed Time: 0:00:00 Time:  0:00:00
I Training epoch 1...
I Training of Epoch 1 - loss: 185.314514                                                                                                                                                                                                        
100% (1 of 1) 
......
|###########################################################################################################################################################################################| Elapsed Time: 0:00:00 Time:  0:00:00
Test - WER: 0.000000, CER: 0.000000, loss: 2.879311
--------------------------------------------------------------------------------
WER: 0.000000, CER: 0.000000, loss: 2.879311
 - src: "she had your dark suit in greasy wash water all year"
 - res: "she had your dark suit in greasy wash water all year"
--------------------------------------------------------------------------------
I Exporting the model...
I Models exported at /tmp/train

7 测试模型

deepspeech --model data/ldc93s1/output_graph.pb --audio data/ldc93s1/LDC93S1.wav --alphabet data/alphabet.txt --lm data/lm/lm.binary --trie data/lm/trie

### 常见的语音识别开发工具和应用框架 在当前的技术环境中,有许多优秀的语音识别开发工具和应用框架可供开发者选择。这些工具不仅能够提供高效的语音转文字功能,还支持多种语言处理以及其他系统的无缝集成。 #### 1. Google Cloud Speech-to-Text (GCPST) Google Cloud Speech-to-Text 是谷歌云平台的一项服务,它提供了强大的自动语音识别能力,并可以轻松地其他谷歌云服务进行集成[^1]。该工具适用于实时音频流和预录制文件的转换,具有高精度的语言模型和支持自定义词汇的能力。 ```python import os from google.cloud import speech_v1p1beta1 as speech def transcribe_audio_file(file_path): client = speech.SpeechClient() with open(file_path, 'rb') as audio_file: content = audio_file.read() audio = speech.RecognitionAudio(content=content) config = speech.RecognitionConfig( encoding=speech.RecognitionConfig.AudioEncoding.LINEAR16, language_code="en-US", sample_rate_hertz=16000) response = client.recognize(config=config, audio=audio) for result in response.results: print(f"Transcript: {result.alternatives[0].transcript}") ``` #### 2. Microsoft Azure Speech Service Microsoft Azure 提供了一个全面的语音服务解决方案,其中包括语音到文本的功能。Azure 的语音 SDK 支持多国语言并允许通过简单的 API 调用来实现复杂的语音交互场景[^2]。 #### 3. IBM Watson Speech to Text IBM Watson 提供了一种基于云端的语音识别技术,其特点是高度可定制化和服务于企业级需求。Watson 可以适应特定行业的术语和技术词汇,从而提高准确性[^3]。 #### 4. Mozilla DeepSpeech Mozilla DeepSpeech 是一个开源项目,旨在创建完全开放源码的语音识别引擎。该项目利用 TensorFlow 进行训练,并且可以通过 Python 或 Node.js 接口调用[^4]。 ```bash pip install deepspeech wget https://github.com/mozilla/DeepSpeech/releases/download/v0.9.3/deepspeech-0.9.3-models.pbmm deepspeech --model deepspeech-0.9.3-models.pbmm --audio path_to_your_audio.wav ``` ### 总结 以上列举了几款主流的语音识别开发工具及其特点。每一种都有各自的优势,在实际选用时可以根据具体应用场景的需求来决定最适合的产品。
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值