k2

k2 logo

Hint

We use the lowercase k in k2. That is, it is k2, not K2.

k2 is able to seamlessly integrate Finite State Automaton (FSA) and Finite State Transducer (FST) algorithms into autograd-based machine learning toolkits like PyTorch [1]. k2 supports CPU as well as CUDA. It can process a batch of FSTs at the same time.

We have used k2 to compute CTC loss, LF-MMI loss, and to do decoding including lattice rescoring in the field of automatic speech recognition (ASR) [2].

We hope k2 will have many other applications as well.