I have trained the Tedlium s5_r2 model from Kaldi. Decoding on the test set works without problems, as does decoding audio using the model and the online2-wav-nnet3-latgen-faster binary from Kaldi.
When trying to load the model in the server I get the following error:
The worker then fails to decode audio. I have used GStreamer Server with a self trained chain model from https://github.com/uhh-lt/kaldi-tuda-de/ without problems.
Edit:
The respective code has been added to Kaldi on 07.07.2017. Might the prepared docker image be older than this and not contain the respective code changes from Kaldi?
Edit2:
I rebuild the container and the problem is gone, so the prebuilt container is outdated. Currently "docker built" fails with the provided Dockerfile though, I will post another issue for this.
I have trained the Tedlium s5_r2 model from Kaldi. Decoding on the test set works without problems, as does decoding audio using the model and the online2-wav-nnet3-latgen-faster binary from Kaldi.
When trying to load the model in the server I get the following error:
... 2019-01-10 13:25:59 - INFO: decoder2: Setting decoder property: frame-subsampling-factor = 3 2019-01-10 13:25:59 - INFO: decoder2: Setting decoder property: phone-syms = models/tedlium_en_extended/decoding/phones.txt 2019-01-10 13:25:59 - INFO: decoder2: Setting decoder property: max-active = 7000 2019-01-10 13:25:59 - INFO: decoder2: Setting decoder property: chunk-length-in-secs = 0.25 2019-01-10 13:25:59 - INFO: decoder2: Setting decoder property: fst = models/tedlium_en_extended/decoding/HCLG.fst 2019-01-10 13:26:00 - INFO: decoder2: Setting decoder property: model = models/tedlium_en_extended/decoding/final.mdl ERROR ([5.4.176~1-be967]:ReadNew():nnet-component-itf.cc:86) Unknown component type TdnnComponent
[ Stack-Trace: ] kaldi::MessageLogger::HandleMessage(kaldi::LogMessageEnvelope const&, char const*) kaldi::MessageLogger::~MessageLogger() kaldi::nnet3::Component::ReadNew(std::istream&, bool) kaldi::nnet3::Nnet::Read(std::istream&, bool) kaldi::nnet3::AmNnetSimple::Read(std::istream&, bool)
g_object_set_property
PyEval_EvalFrameEx . . . python() [0x4b988b] PyEval_EvalFrameEx PyEval_EvalFrameEx PyEval_EvalCodeEx python() [0x50160f] PyRun_FileExFlags PyRun_SimpleFileExFlags Py_Main __libc_start_main python() [0x497b8b] ...
The worker then fails to decode audio. I have used GStreamer Server with a self trained chain model from https://github.com/uhh-lt/kaldi-tuda-de/ without problems.
The YAML file used for starting:
use-nnet2: True decoder: nnet-mode: 3 use-threaded-decoder: True model : models/tedlium_en_extended/decoding/final.mdl word-syms : models/tedlium_en_extended/decoding/words.txt fst : models/tedlium_en_extended/decoding/HCLG.fst
feature-type : "mfcc"
out-dir: tmp
use-vad: False silence-timeout: 2
full-post-processor: kaldi-gstreamer-server/post_processor.py
logging: version : 1 disable_existing_loggers: False formatters: simpleFormater: format: '%(asctime)s - %(levelname)7s: %(name)10s: %(message)s' datefmt: '%Y-%m-%d %H:%M:%S' handlers: console: class: logging.StreamHandler formatter: simpleFormater level: DEBUG root: level: DEBUG handlers: [console]
Any help is much appreciated!
Edit: The respective code has been added to Kaldi on 07.07.2017. Might the prepared docker image be older than this and not contain the respective code changes from Kaldi?