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 | 64fc39f97b62d9575eeb8da8067b1b09b71c0f84 (patch) | |
tree | 7475ae5578f40d3deabeef4532e3a81e2c662ad5 /klm/lm/model.cc | |
parent | 3b9f1972dd2c0874c5845b68f9bd7f955b6d67eb (diff) | |
parent | 0dc7755f7fb1ef15db5a60c70866aa61b6367898 (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 |