Skip to content

RustLM : An efficient Rust CTC Decoder supporting external language models

License

Notifications You must be signed in to change notification settings

catie-aq/rustlm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RustLM : An efficient Rust CTC Decoder supporting external language models

This an efficient CTC Decoder supporting external language models scorer (Neural models in onnx format, KenLM and dictionnaries as a radix-tree)

This work is initially based on the beautiful work of fast-ctc-decode (https://github.com/nanoporetech/fast-ctc-decode).

Requirements

pip install maturin
curl https://sh.rustup.rs -sSf | sh
rustup default nightly
# if maturin is not found later, just add $HOME/.local/bin/ to your PATH

Installation

git clone https://github.com:catie-aq/rustlm.git --recursive
cd rustlm
make build
pip install target/wheels/rustlm-0.2.0-cp38-cp38-linux_x86_64.whl

TODO List:

  • Support batch inference
  • Add/improve parallelization/multithreading (rayon?)
  • Move probabilities computations into log space (estimate effect on performances)
  • Better error management
  • Support for dictionnaries boosting
  • Support word dictionnaries and kenlm text/binary models
  • Support both inference during beam and final inference rescoring (switch needed)
  • Improve performances

Older builds

For python3.6 on jetson Xavier

numpy = "0.15.1"
pyo3 = { version = "=0.15.0", features = ["extension-module"] }

About

RustLM : An efficient Rust CTC Decoder supporting external language models

Resources

License

Stars

Watchers

Forks

Packages

No packages published