diff options
Diffstat (limited to 'decoder')
| -rw-r--r-- | decoder/ff_klm.cc | 14 | 
1 files changed, 9 insertions, 5 deletions
| diff --git a/decoder/ff_klm.cc b/decoder/ff_klm.cc index 35b35d36..a3bd0c5f 100644 --- a/decoder/ff_klm.cc +++ b/decoder/ff_klm.cc @@ -282,11 +282,10 @@ class KLanguageModelImpl {    KLanguageModelImpl(const string& filename, const string& mapfile, bool explicit_markers) :        kCDEC_UNK(TD::Convert("<unk>")) ,        add_sos_eos_(!explicit_markers) { -    if (true) { -      boost::scoped_ptr<lm::ngram::EnumerateVocab> vm; -      vm.reset(new VMapper(&cdec2klm_map_)); +    { +      VMapper vm(&cdec2klm_map_);        lm::ngram::Config conf; -      conf.enumerate_vocab = vm.get();  +      conf.enumerate_vocab = &vm;        ngram_ = new Model(filename.c_str(), conf);      }      order_ = ngram_->Order(); @@ -385,7 +384,12 @@ KLanguageModel<Model>::KLanguageModel(const string& param) {    if (!ParseLMArgs(param, &filename, &mapfile, &explicit_markers, &featname)) {      abort();    } -  pimpl_ = new KLanguageModelImpl<Model>(filename, mapfile, explicit_markers); +  try { +    pimpl_ = new KLanguageModelImpl<Model>(filename, mapfile, explicit_markers); +  } catch (std::exception &e) { +    std::cerr << e.what() << std::endl; +    abort(); +  }    fid_ = FD::Convert(featname);    oov_fid_ = FD::Convert(featname+"_OOV");    cerr << "FID: " << oov_fid_ << endl; | 
