Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/moses-smt/mosesdecoder.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHieu Hoang <hieuhoang@gmail.com>2016-09-29 18:11:36 +0300
committerHieu Hoang <hieuhoang@gmail.com>2016-09-29 18:11:36 +0300
commit6a1dc847c6caddda9da7f16cc774177eef1cd65c (patch)
treec57b9ca5c4ca3fc5972ac23d43392b3c6ed8bcb8
parent76a2b51f625469275925c65bbd80d53369d751d4 (diff)
PhraseDecoder compiles
-rw-r--r--contrib/moses2/Jamfile1
-rw-r--r--contrib/moses2/TranslationModel/CompactPT/TargetPhraseCollectionCache.h15
-rw-r--r--contrib/moses2/TranslationModel/PhraseTableCompact.cpp6
-rw-r--r--contrib/moses2/TranslationModel/PhraseTableCompact.h10
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;