diff options
author | Chris Dyer <cdyer@cs.cmu.edu> | 2011-06-06 21:06:02 -0400 |
---|---|---|
committer | Chris Dyer <cdyer@cs.cmu.edu> | 2011-06-06 21:06:02 -0400 |
commit | 4f3d61a3578dd99136913fc8cc8852fddcb50682 (patch) | |
tree | 9ab3988fff10eb2bc0fe8ad63f49babfe9d16073 | |
parent | 866ae1777a42dfecf1869eb0ebc722c7d8cfc7d0 (diff) | |
parent | dcf4447590277887d65b0bdec7e6818081869a9a (diff) |
Merge branch 'master' of github.com:redpony/cdec
-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; |