2016-06-21 5 views
5

TensorFlow CTC 구현에서 빔 스코어를 사용자 정의 할 수 있습니까? CTCBeamSearchDecoder C++ 클래스 생성자에 대한 주석에이 가능성이 있지만 파이썬 사용자에게이 기능을 제공하는 방법을 궁금해하십니까?TensorFlow CTC (언어 모델)에서 사용자 정의 빔 스코어러 사용

특정 문제는 CTC 기반 음성 디코더에 언어 모델을 연결하는 것입니다. 언어 모델은 사전에 훈련 된 TensorFlow 하위 그래프 일 수 있으며 빔 점수 조정에 대한 가능성을 출력 할 수 있습니다. 그러나 이것을 빔 스코어러에 주입 할 방법이 필요합니다.

답변

5

현재 사용자 정의 스코어러가있는 언어 모델을 사용하는 Python 용 API는 없습니다. 기고는 환영하지만, 파이썬 API에서 가능하게 만드는 데에는 어려움이 있습니다. 디코더 op 내부의 독립적 인 세션에서 TF LM 서브 그래프를 실행해야하며, 서로 조화를 이루지 못하기 때문입니다.

가장 쉬운 방법은 C++이며 BaseBeamScorer 클래스를 BeamState (테스트에서 볼 수있는 것과 유사)로 확장하고 CTCBeamSearchDecoder :: Decode를 테스 트 플로 플로우 그래프의 출력 상단에 추가로 실행해야합니다. 일반적으로 ctc_beam_search_decoder op에 있습니다.

이렇게하면 BeamScorer 구현시 보유하고있는 언어 모델을 사용할 수 있으며 한 상태에서 다른 상태로 빔을 확장 할 때 적절한 점수를 반환하면됩니다.

+0

while 루프와 마찬가지로 LM 서브 그래프에 대해 기능적으로 사용할 수있는 람다를 이론적으로 사용할 수 있습니까? 그래서 디코더 op가 독립 세션을 호출하지 않고 있습니까? –