diff options
author | Hieu Hoang <hieuhoang@gmail.com> | 2016-09-29 18:11:36 +0300 |
---|---|---|
committer | Hieu Hoang <hieuhoang@gmail.com> | 2016-09-29 18:11:36 +0300 |
commit | 6a1dc847c6caddda9da7f16cc774177eef1cd65c (patch) | |
tree | c57b9ca5c4ca3fc5972ac23d43392b3c6ed8bcb8 | |
parent | 76a2b51f625469275925c65bbd80d53369d751d4 (diff) |
PhraseDecoder compiles
4 files changed, 26 insertions, 6 deletions
diff --git a/contrib/moses2/Jamfile b/contrib/moses2/Jamfile index 38f95dace..7d4ff36da 100644 --- a/contrib/moses2/Jamfile +++ b/contrib/moses2/Jamfile @@ -65,6 +65,7 @@ alias deps : ../..//z ../..//boost_iostreams ../..//boost_filesystem ../../mose TranslationModel/CompactPT/CmphStringVectorAdapter.cpp TranslationModel/CompactPT/LexicalReorderingTableCompact.cpp TranslationModel/CompactPT/MurmurHash3.cpp + TranslationModel/CompactPT/PhraseDecoder.cpp TranslationModel/CompactPT/TargetPhraseCollectionCache.cpp TranslationModel/CompactPT/ThrowingFwrite.cpp diff --git a/contrib/moses2/TranslationModel/CompactPT/TargetPhraseCollectionCache.h b/contrib/moses2/TranslationModel/CompactPT/TargetPhraseCollectionCache.h index 7b49ad60c..58a43ae0c 100644 --- a/contrib/moses2/TranslationModel/CompactPT/TargetPhraseCollectionCache.h +++ b/contrib/moses2/TranslationModel/CompactPT/TargetPhraseCollectionCache.h @@ -29,7 +29,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA #include <boost/shared_ptr.hpp> #include "../../PhraseBased/TargetPhraseImpl.h" -#include "../../PhraseBased/PhraseImpl.h" +#include "../../Phrase.h" namespace Moses2 { @@ -56,7 +56,10 @@ private: : m_clock(clock), m_tpv(tpv), m_bitsLeft(bitsLeft) {} }; - typedef boost::unordered_map<const PhraseImpl*, LastUsed, UnorderedComparer<PhraseImpl>, UnorderedComparer<PhraseImpl> > CacheMap; + typedef boost::unordered_map< + const Phrase<Word>*, + LastUsed, UnorderedComparer< Phrase<Word> >, + UnorderedComparer< Phrase<Word> > > CacheMap; static boost::thread_specific_ptr<CacheMap> m_phraseCache; public: @@ -93,7 +96,7 @@ public: } /** retrieve translations for source phrase from persistent cache **/ - void Cache(const PhraseImpl &sourcePhrase, TargetPhraseVectorPtr tpv, + void Cache(const Phrase<Word> &sourcePhrase, TargetPhraseVectorPtr tpv, size_t bitsLeft = 0, size_t maxRank = 0) { if(!m_phraseCache.get()) m_phraseCache.reset(new CacheMap()); @@ -114,7 +117,7 @@ public: } } - std::pair<TargetPhraseVectorPtr, size_t> Retrieve(const PhraseImpl &sourcePhrase) { + std::pair<TargetPhraseVectorPtr, size_t> Retrieve(const Phrase<Word> &sourcePhrase) { if(!m_phraseCache.get()) m_phraseCache.reset(new CacheMap()); iterator it = m_phraseCache->find(&sourcePhrase); @@ -131,7 +134,7 @@ public: if(!m_phraseCache.get()) m_phraseCache.reset(new CacheMap()); if(m_phraseCache->size() > m_max * (1 + m_tolerance)) { - typedef boost::unordered_set<std::pair<clock_t, const PhraseImpl*> > Cands; + typedef boost::unordered_set<std::pair<clock_t, const Phrase<Word>*> > Cands; Cands cands; for(CacheMap::iterator it = m_phraseCache->begin(); it != m_phraseCache->end(); it++) { @@ -140,7 +143,7 @@ public: } for(Cands::iterator it = cands.begin(); it != cands.end(); it++) { - const PhraseImpl *p = it->second; + const Phrase<Word> *p = it->second; m_phraseCache->erase(p); if(m_phraseCache->size() < (m_max * (1 - m_tolerance))) diff --git a/contrib/moses2/TranslationModel/PhraseTableCompact.cpp b/contrib/moses2/TranslationModel/PhraseTableCompact.cpp index af17cf1a4..23d576158 100644 --- a/contrib/moses2/TranslationModel/PhraseTableCompact.cpp +++ b/contrib/moses2/TranslationModel/PhraseTableCompact.cpp @@ -7,8 +7,14 @@ using namespace boost::algorithm; namespace Moses2 { +bool PhraseTableCompact::s_inMemoryByDefault = false; + PhraseTableCompact::PhraseTableCompact(size_t startInd, const std::string &line) :PhraseTable(startInd, line) +,m_inMemory(s_inMemoryByDefault) +,m_useAlignmentInfo(true) +,m_hash(10, 16) +//,m_phraseDecoder(0) { ReadParameters(); } diff --git a/contrib/moses2/TranslationModel/PhraseTableCompact.h b/contrib/moses2/TranslationModel/PhraseTableCompact.h index 148f08d0b..e7a77370b 100644 --- a/contrib/moses2/TranslationModel/PhraseTableCompact.h +++ b/contrib/moses2/TranslationModel/PhraseTableCompact.h @@ -1,5 +1,6 @@ #pragma once #include "PhraseTable.h" +#include "CompactPT/BlockHashIndex.h" namespace Moses2 { @@ -26,6 +27,15 @@ public: SCFG::InputPath &path) const; protected: + static bool s_inMemoryByDefault; + bool m_inMemory; + bool m_useAlignmentInfo; + + BlockHashIndex m_hash; + + StringVector<unsigned char, size_t, MmapAllocator> m_targetPhrasesMapped; + StringVector<unsigned char, size_t, std::allocator> m_targetPhrasesMemory; + friend class PhraseDecoder; //PhraseDecoder* m_phraseDecoder; |