| namespace nplm | |
| { | |
| class neuralLM; | |
| } | |
| namespace Moses | |
| { | |
| class NeuralLMWrapper : public LanguageModelSingleFactor | |
| { | |
| protected: | |
| // big data (vocab, weights, cache) shared among threads | |
| nplm::neuralLM *m_neuralLM_shared; | |
| // thread-specific nplm for thread-safety | |
| mutable boost::thread_specific_ptr<nplm::neuralLM> m_neuralLM; | |
| int m_unk; | |
| public: | |
| NeuralLMWrapper(const std::string &line); | |
| ~NeuralLMWrapper(); | |
| virtual LMResult GetValue(const std::vector<const Word*> &contextFactor, State* finalState = 0) const; | |
| virtual void Load(AllOptions::ptr const& opts); | |
| }; | |
| } // namespace | |