A crash course for training speech recognition models using DeepSpeech.
Перейти к файлу
Kathy Reid 08329656cc
Ensure `curl` has `-L` flag to download native client
Because GitHub seems to be using 302 redirects to serve files off of some sort of CDN, and plain `curl` fails
2021-05-16 15:55:34 +10:00
images Filesystem perms 2021-01-27 22:50:34 +11:00
.gitignore Filesystem perms 2021-01-27 22:50:34 +11:00
ALPHABET.md Merge pull request #21 from JRMeyer/feature/add-scorer 2021-02-08 23:00:53 +11:00
AM_vs_LM.md Added information around scorer / language model. Resolves #6 2021-02-03 00:02:15 +11:00
CONTINUOUS_INTEGRATION.md Remove reference to _manually_ in prebuilding the cache for extra clarity 2021-04-29 08:50:21 +10:00
DATA_FORMATTING.md correct incorrect directory name - s/persistent_data/deepspeech-data 2021-03-17 17:10:29 +11:00
DEEPSPEECH.md Remove @todo around bindings - they're out of scope of training 2021-02-04 15:15:26 +11:00
DEPLOYMENT.md Update DEPLOYMENT.md 2021-02-24 09:09:11 +11:00
ENVIRONMENT.md Add instruction to install `sox` for CV data, add section on custom docker image 2021-02-28 14:17:07 +11:00
EXAMPLES.md Initial commit of GitHub Actions CI documentation. 2021-04-21 07:53:11 +10:00
INTRO.md Redo ToC for INTRO.md 2021-02-04 13:33:59 +11:00
LICENSE.md Filesystem perms 2021-01-27 22:50:34 +11:00
README.md Initial commit of GitHub Actions CI documentation. 2021-04-21 07:53:11 +10:00
SCORER.md Ensure `curl` has `-L` flag to download native client 2021-05-16 15:55:34 +10:00
TESTING.md Add code example for running testing from checkpoint, resolves #5 2021-02-23 14:59:46 +11:00
TRAINING.md Added information on `--dropout_rate` hyperparameter, resolves #16 2021-03-05 14:44:08 +11:00

README.md

DeepSpeech Playbook

A crash course on training speech recognition models using DeepSpeech.

Introduction

Start here. This section will set your expectations for what you can achieve with the DeepSpeech Playbook, and the prerequisites you'll need to start to train your own speech recognition models.

About DeepSpeech

Once you know what you can achieve with the DeepSpeech Playbook, this section provides an overview of DeepSpeech itself, its component parts, and how it differs from other speech recognition engines you may have used in the past.

Formatting your training data

Before you can train a model, you will need to collect and format your corpus of data. This section provides an overview of the data format required for DeepSpeech, and walks through an example in prepping a dataset from Common Voice.

The alphabet.txt file

If you are training a model that uses a different alphabet to English, for example a language with diacritical marks, then you will need to modify the alphabet.txt file.

Building your own scorer

Learn what the scorer does, and how you can go about building your own.

Acoustic model and language model

Learn about the differences between DeepSpeech's acoustic model and language model and how they combine to provide end to end speech recognition.

Setting up your training environment

This section walks you through building a Docker image, and spawning DeepSpeech in a Docker container with persistent storage. This approach avoids the complexities of dependencies such as tensorflow.

Training a model

Once you have your training data formatted, and your training environment established, this section will show you how to train a model, and provide guidance for overcoming common pitfalls.

Testing a model

Once you've trained a model, you will need to validate that it works for the context it's been designed for. This section walks you through this process.

Deploying your model

Once trained and tested, your model is deployed. This section provides an overview of how you can deploy your model.

Applying DeepSpeech to real world problems

This section covers specific use cases where DeepSpeech can be applied to real world problems, such as transcription, keyword searching and voice controlled applications.

Setting up Continuous Integration

Learn how to set up Continuous Integration (CI) for your own fork of DeepSpeech. Intended for developers who are utilising DeepSpeech for their own specific use cases.


Introductory courses on machine learning

Providing an introduction to machine learning is beyond the scope of this PlayBook, howevever having an understanding of machine learning and deep learning concepts will aid your efforts in training speech recognition models with DeepSpeech.

Here, we've linked to several resources that you may find helpful; they're listed in the order we recommend reading them in.


How you can help provide feedback on the DeepSpeech PlayBook

You can help to make the DeepSpeech PlayBook even better by providing via a GitHub Issue

  • Please try these instructions, particularly for building a Docker image and running a Docker container, on multiple distributions of Linux so that we can identify corner cases.

  • Please contribute your tacit knowledge - such as:

    • common errors encountered in data formatting, environment setup, training and validation
    • techniques or approaches for improving the scorer, alphabet file or the accuracy of Word Error Rate (WER) and Character Error Rate (CER).
    • case studies of the work you or your organisation have been doing, showing your approaches to data validation, training or evaluation.
  • Please identify errors in text - with many eyes, bugs are shallow :-)