1个不稳定版本
0.2.0 | 2023年2月23日 |
---|
#851 in 数学
每月 21 下载次数
用于 ungoliant
115KB
773 代码行
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
依赖项
~0.9–7.5MB
~54K SLoC