1个不稳定版本
0.1.0 | 2022年2月6日 |
---|
在 数学 分类中排名 #851
410KB
7K SLoC
ctclib
注意:目前正在开发中。
一个与CTC相关的实用工具集合,目标是快速且高度灵活。
特性
- CTC解码
- 贪婪解码器
- 束搜索解码器
- 带有KenLM的束搜索解码器
- 带有用户定义LM的束搜索解码器
- Python绑定
安装
ctclib
依赖于kpu/kenlm。您必须安装以下库作为KenLM的依赖项。
- Boost
- Eigen3
例如,如果您使用的是Ubuntu(或基于Debian的某些Linux),您可以通过运行以下命令来安装它们
apt install libboost-all-dev libeigen3-dev
使用Rust的ctclib
目前,ctclib
不在crates.io上,但您可以使用它作为git依赖项。
[dependencies]
ctclib = { version = "*", git = "https://github.com/agatan/ctclib" }
使用Python的ctclib
ctclib
提供了名为pyctclib
的Python接口。目前,pyctclib
不在PyPI上,但您可以将它作为git依赖项安装。请确保您已安装cargo
和libclang-dev
。
pip install 'git+https://github.com/agatan/ctclib.git#egg=pyctclib&subdirectory=bindings/python'
示例
import pyctclib
decoder = pyctclib.BeamSearchDecoderWithKenLM(
pyctclib.BeamSearchDecoderOptions(
beam_size=100,
beam_size_token=1000,
beam_threshold=1,
lm_weight=0.5,
),
"/path/to/model.arpa",
["a", "b", "c", "_"],
)
decode.decode(log_probs)
# or you can use user-defined LM
# See pyctclib.LMProtocol
依赖项
~1–7.5MB
~50K SLoC