grammar-fst
複数のデコードスレッド間でタイプHCLG.fst
を共有できますか?
ConstGrammerFst
正確には、複数のスレッドでポインターを共有することを計画しています。ここでは、SingleUtteranceNnet3DecoderTpl
デコーダーのさまざまなインスタンスを使用して、共有インスタンスConstGrammerFst
をデコードに使用します。
Fst<StdArc>
複数のデコーダ間でメモリを共有する動作中のシステムが既にあり、システムは正常に動作しています。
しかし、試してみるとConstGrammerFst
、ストレス テストで次のエラーが発生します。
ERROR (ThreadedOnlineDecoder[5.5.0~1537-a401]:InitEntryOrReentryArcs():grammar-fst.cc:163) Two arcs had the same left-context phone.
Error occured in Kaldi loop
ERROR (ThreadedOnlineDecoder[5.5.0~1537-a401]:ExpandStateEnd():grammar-fst.cc:257) FST with index 4 ends with left-context-phone 100 but parent FST does not support that left-context at the return point.
Error occured in Kaldi loop
これらのエラーは、すべてのファイルではなく、非常に少数のファイルに対してランダムに発生します。ConstGrammerFst
したがって、スレッドセーフかどうか疑問に思っていましたか?