You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Yibing Liu
5208b8e40f
|
7 years ago | |
---|---|---|
.. | ||
README.md | 7 years ago | |
__init__.py | 7 years ago | |
ctc_decoders.cpp | 7 years ago | |
ctc_decoders.h | 7 years ago | |
decoder_utils.cpp | 7 years ago | |
decoder_utils.h | 7 years ago | |
decoders.i | 7 years ago | |
path_trie.cpp | 7 years ago | |
path_trie.h | 7 years ago | |
scorer.cpp | 7 years ago | |
scorer.h | 7 years ago | |
setup.py | 7 years ago | |
swig_decoders_wrapper.py | 7 years ago |
README.md
The decoders for deployment developed in C++ are a better alternative for the prototype decoders in Pytthon, with more powerful performance in both speed and accuracy.
Installation
The build depends on several open-sourced projects, first clone or download them to current directory (i.e., deep_speech_2/deploy
)
- KenLM: Faster and Smaller Language Model Queries
git clone https://github.com/kpu/kenlm.git
- OpenFst: A library for finite-state transducers
wget http://www.openfst.org/twiki/pub/FST/FstDownload/openfst-1.6.3.tar.gz
tar -xzvf openfst-1.6.3.tar.gz
- ThreadPool: A library for C++ thread pool
git clone https://github.com/progschj/ThreadPool.git
- SWIG: A tool that provides the Python interface for the decoders, please make sure it being installed.
Then run the setup
python setup.py install --num_processes 4
cd ..
Usage
The decoders for deployment share almost the same interface with the prototye decoders in Python. After the installation succeeds, these decoders are very convenient for call in Python, and a complete example in deploy.py
can be refered.
For GPU deployment
CUDA_VISIBLE_DEVICES=0 python deploy.py
For CPU deployment
python deploy.py --use_gpu=False
More help for arguments
python deploy.py --help