diff options
author | Patrick Simianer <p@simianer.de> | 2013-06-20 01:28:43 +0200 |
---|---|---|
committer | Patrick Simianer <p@simianer.de> | 2013-06-20 01:28:43 +0200 |
commit | b84dbcec63a488c85ef32591a1a751571a4ec808 (patch) | |
tree | b15737c3f9e0d18c36a8d84d52e6c0bb270190f9 /klm/lm/model.cc | |
parent | 4ee4f74ae8cf88fd2335267c26cbfb73f3ef8f28 (diff) | |
parent | f1ce46ec9b1b8efcc4a91a149454acf03c01db02 (diff) |
Merge remote-tracking branch 'upstream/master'
Diffstat (limited to 'klm/lm/model.cc')
-rw-r--r-- | klm/lm/model.cc | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/klm/lm/model.cc b/klm/lm/model.cc index a40fd2fb..a26654a6 100644 --- a/klm/lm/model.cc +++ b/klm/lm/model.cc @@ -304,5 +304,26 @@ template class GenericModel<trie::TrieSearch<SeparatelyQuantize, trie::DontBhiks template class GenericModel<trie::TrieSearch<SeparatelyQuantize, trie::ArrayBhiksha>, SortedVocabulary>; } // namespace detail + +base::Model *LoadVirtual(const char *file_name, const Config &config, ModelType model_type) { + RecognizeBinary(file_name, model_type); + switch (model_type) { + case PROBING: + return new ProbingModel(file_name, config); + case REST_PROBING: + return new RestProbingModel(file_name, config); + case TRIE: + return new TrieModel(file_name, config); + case QUANT_TRIE: + return new QuantTrieModel(file_name, config); + case ARRAY_TRIE: + return new ArrayTrieModel(file_name, config); + case QUANT_ARRAY_TRIE: + return new QuantArrayTrieModel(file_name, config); + default: + UTIL_THROW(FormatLoadException, "Confused by model type " << model_type); + } +} + } // namespace ngram } // namespace lm |