Я использую Kaldi для декодирования множества звуковых образцов каждый день. У меня есть план, что параллельно будет выполняться несколько декодеров, выполняющих декодирование на одной и той же языковой модели. Для этого было бы неплохо, если бы я мог поделиться одной моделью языка, загруженной в память несколькими декодерами. Модель, которую я имею сейчас, составляет 1 ГБ на диске и использует около 3 ГБ в памяти, и было бы здорово, если бы я смог сохранить память, используя ее еще раз.Kaldi - как поделиться моделью langauge среди множества декодеров?
Неужели кто-нибудь когда-нибудь думал об этом? Это выполнимо?
- Я не нашел ничего об этом в Kaldi документации
- Я думал использовать повышение :: межпроцессного библиотека управлять объектом FST :: VectorFst FST :: ReadFstKaldi(), как это самый большой объект. Но это выглядит большой проблемой, так как это сложный пользовательский объект, и я не уверен, может ли boost :: interprocess справиться с ними. Я не хочу заниматься настройкой объектов Kaldi, чтобы поддерживать их в обмене памятью.
Любые другие идеи об этом подходе?
Я также добавлю здесь перекрестную ссылку на мой вопрос на kaldi-developers: https://groups.google.com/forum/#!topic/kaldi-developers/Ylv4jauOYw0 – MiroJanosik