- CompiledFSM object which stores the fsm and it's reversal.
- Improved SpMV performance
- Do not allocate extra array while doing the backward step.
- All the different storage of FSM are now replaced with a single type: FSM which is internally a matrix-based FSM. Construction and inference algorithms are applied directly on this format.
- FSM constructor using a JSON-formatted string.
- Removed the old code
src/semirings
with semiring algebra and replace it with new externalSemirings
package.
- Added the
remove_label
function which replace the oldremove_eps
. - Memory optimization of the forward-backward: the backward operates in-place avoiding to use an extra 3D tensor.
- This version is the one that was use for the 1st submission of the ICASSP 2022 conference.
pdfposteriors
supports for batch of sequence with varying lengths.- refactorized the code in 3 sub-modules:
Semirings
,FSMs
andInference
. - the FSM API has several FSM implementation (
VectorFSM
,HierarchicalFSM
andMatrixFSM
) - the FSM operations can be used are agnostic to the FSM-implementation
- added tests for the FSM API
- FSM states don't carry the pdf-id anymore and there is no notion of "epsilon-state"
- fixed typo
arc!
instead ofaddarc!
- added
maxstateposteriors
andbestpath
algorithms - can make union of compiled FSMs on GPU.
- added batch computation of the forward-backward algorithm
- added
remove_eps
function to remove emitting states - CompiledFSM structure stores the state -> pdf mapping (and pdf -> state mapping) as two sparse matrices to deal with the case when the state id is different from the pdf index
- added
union
function to group several fsms together - fixed determinize never end for FSM with cycles (issue #16)
- fixed duplicate initial state when determinizing
- added best path decoding
- improved user api by "hiding" the conversion of the state llhs to the appropriate semi-field
- improved benchmark
- added batch version of the forward-backward algorithm
- added GPU support for the forward-backward algorithm
- remove pruning option for the forward-backward algorithm
- refactoring of the FSM API.
- added a
compile
function to convert an inference graph into a compact matrix-based format suitable for fast inference - added support for dense/sparse CPU/GPU version of the
forward-backward algorithm
- the forward-backward implementation does not rely on the graph representation anymore
- added unit tests
- added
LogSemifield
type used by the graph and inference API
- initial release