mirror of
https://github.com/moses-smt/mosesdecoder.git
synced 2024-10-27 11:59:52 +03:00
my MemPool
This commit is contained in:
parent
77a2de1d9d
commit
e225b64adf
@ -10,8 +10,9 @@
|
||||
#include "StatefulFeatureFunction.h"
|
||||
#include "System.h"
|
||||
|
||||
#include "PhraseTable.h"
|
||||
#include "SkeletonStatelessFF.h"
|
||||
#include "SkeletonStatefulFF.h"
|
||||
#include "PhraseTable.h"
|
||||
|
||||
using namespace std;
|
||||
|
||||
@ -83,7 +84,8 @@ FeatureFunction *FeatureFunctions::Create(const std::string &line)
|
||||
ret = new PhraseTable(m_ffStartInd, line);
|
||||
}
|
||||
else {
|
||||
ret = new SkeletonStatefulFF(m_ffStartInd, line);
|
||||
//ret = new SkeletonStatefulFF(m_ffStartInd, line);
|
||||
ret = new SkeletonStatelessFF(m_ffStartInd, line);
|
||||
}
|
||||
|
||||
m_ffStartInd += ret->GetNumScores();
|
||||
|
@ -21,7 +21,7 @@ Hypothesis::Hypothesis(Manager &mgr,
|
||||
,m_range(range)
|
||||
,m_prevHypo(NULL)
|
||||
{
|
||||
util::Pool &pool = m_mgr.GetPool();
|
||||
MemPool &pool = m_mgr.GetPool();
|
||||
|
||||
size_t numStatefulFFs = m_mgr.GetSystem().GetFeatureFunctions().GetStatefulFeatureFunctions().size();
|
||||
m_ffStates = (Moses::FFState **) pool.Allocate(sizeof(Moses::FFState*) * numStatefulFFs);
|
||||
@ -39,7 +39,7 @@ Hypothesis::Hypothesis(const Hypothesis &prevHypo,
|
||||
,m_range(pathRange)
|
||||
,m_prevHypo(&prevHypo)
|
||||
{
|
||||
util::Pool &pool = m_mgr.GetPool();
|
||||
MemPool &pool = m_mgr.GetPool();
|
||||
size_t numStatefulFFs = m_mgr.GetSystem().GetFeatureFunctions().GetStatefulFeatureFunctions().size();
|
||||
m_ffStates = (Moses::FFState **) pool.Allocate(sizeof(Moses::FFState*) * numStatefulFFs);
|
||||
|
||||
|
@ -19,6 +19,7 @@ import path ;
|
||||
Scores.cpp
|
||||
SearchNormal.cpp
|
||||
SkeletonStatefulFF.cpp
|
||||
SkeletonStatelessFF.cpp
|
||||
Stack.cpp
|
||||
StatefulFeatureFunction.cpp
|
||||
StatelessFeatureFunction.cpp
|
||||
|
@ -14,7 +14,7 @@
|
||||
#include "Stack.h"
|
||||
#include "TargetPhrase.h"
|
||||
#include "moses/Bitmaps.h"
|
||||
#include "util/pool.hh"
|
||||
#include "MemPool.h"
|
||||
|
||||
class System;
|
||||
class Phrase;
|
||||
@ -25,7 +25,7 @@ public:
|
||||
Manager(System &system, const std::string &inputStr);
|
||||
virtual ~Manager();
|
||||
|
||||
util::Pool &GetPool()
|
||||
MemPool &GetPool()
|
||||
{ return m_pool; }
|
||||
|
||||
const System &GetSystem() const
|
||||
@ -41,7 +41,7 @@ public:
|
||||
|
||||
void Decode();
|
||||
protected:
|
||||
util::Pool &m_pool;
|
||||
MemPool &m_pool;
|
||||
|
||||
const System &m_system;
|
||||
Phrase *m_input;
|
||||
|
@ -8,11 +8,11 @@
|
||||
#include "Phrase.h"
|
||||
#include "Word.h"
|
||||
#include "moses/Util.h"
|
||||
#include "util/pool.hh"
|
||||
#include "MemPool.h"
|
||||
|
||||
using namespace std;
|
||||
|
||||
Phrase *Phrase::CreateFromString(util::Pool &pool, Moses::FactorCollection &vocab, const std::string &str)
|
||||
Phrase *Phrase::CreateFromString(MemPool &pool, Moses::FactorCollection &vocab, const std::string &str)
|
||||
{
|
||||
vector<string> toks = Moses::Tokenize(str);
|
||||
size_t size = toks.size();
|
||||
@ -32,7 +32,7 @@ void Phrase::CreateFromString(Moses::FactorCollection &vocab, const std::vector<
|
||||
}
|
||||
}
|
||||
|
||||
Phrase::Phrase(util::Pool &pool, size_t size)
|
||||
Phrase::Phrase(MemPool &pool, size_t size)
|
||||
:m_size(size)
|
||||
{
|
||||
m_words = new (pool.Allocate<Word>(size)) Word[size];
|
||||
|
@ -11,7 +11,7 @@
|
||||
#include <string>
|
||||
#include <iostream>
|
||||
#include "Word.h"
|
||||
#include "util/pool.hh"
|
||||
#include "MemPool.h"
|
||||
#include "moses/FactorCollection.h"
|
||||
|
||||
class PhraseBase
|
||||
@ -27,9 +27,9 @@ class Phrase : public PhraseBase
|
||||
{
|
||||
friend std::ostream& operator<<(std::ostream &, const Phrase &);
|
||||
public:
|
||||
static Phrase *CreateFromString(util::Pool &pool, Moses::FactorCollection &vocab, const std::string &str);
|
||||
static Phrase *CreateFromString(MemPool &pool, Moses::FactorCollection &vocab, const std::string &str);
|
||||
|
||||
Phrase(util::Pool &pool, size_t size);
|
||||
Phrase(MemPool &pool, size_t size);
|
||||
virtual ~Phrase();
|
||||
|
||||
const Word& operator[](size_t pos) const {
|
||||
|
@ -82,7 +82,7 @@ void PhraseTable::Load(System &system)
|
||||
|
||||
Moses::FactorCollection &vocab = system.GetVocab();
|
||||
|
||||
util::Pool tmpPool;
|
||||
MemPool tmpPool;
|
||||
vector<string> toks;
|
||||
Moses::InputFileStream strme(m_path);
|
||||
string line;
|
||||
|
@ -17,14 +17,14 @@
|
||||
|
||||
using namespace std;
|
||||
|
||||
Scores::Scores(util::Pool &pool, size_t numScores)
|
||||
Scores::Scores(MemPool &pool, size_t numScores)
|
||||
:m_total(0)
|
||||
{
|
||||
m_scores = new (pool.Allocate<SCORE>(numScores)) SCORE[numScores];
|
||||
Init<SCORE>(m_scores, numScores, 0);
|
||||
}
|
||||
|
||||
Scores::Scores(util::Pool &pool, size_t numScores, const Scores &origScores)
|
||||
Scores::Scores(MemPool &pool, size_t numScores, const Scores &origScores)
|
||||
:m_total(origScores.m_total)
|
||||
{
|
||||
m_scores = new (pool.Allocate<SCORE>(numScores)) SCORE[numScores];
|
||||
|
@ -9,7 +9,7 @@
|
||||
#include <iostream>
|
||||
#include <string>
|
||||
#include "TypeDef.h"
|
||||
#include "util/pool.hh"
|
||||
#include "MemPool.h"
|
||||
|
||||
class FeatureFunction;
|
||||
class System;
|
||||
@ -17,8 +17,8 @@ class System;
|
||||
class Scores {
|
||||
friend std::ostream& operator<<(std::ostream &, const Scores &);
|
||||
public:
|
||||
Scores(util::Pool &pool, size_t numScores);
|
||||
Scores(util::Pool &pool, size_t numScores, const Scores &origScores);
|
||||
Scores(MemPool &pool, size_t numScores);
|
||||
Scores(MemPool &pool, size_t numScores, const Scores &origScores);
|
||||
virtual ~Scores();
|
||||
|
||||
SCORE GetTotalScore() const
|
||||
|
20
contrib/other-builds/moses2/SkeletonStatelessFF.cpp
Normal file
20
contrib/other-builds/moses2/SkeletonStatelessFF.cpp
Normal file
@ -0,0 +1,20 @@
|
||||
/*
|
||||
* SkeletonStatefulFF.cpp
|
||||
*
|
||||
* Created on: 27 Oct 2015
|
||||
* Author: hieu
|
||||
*/
|
||||
|
||||
#include "SkeletonStatelessFF.h"
|
||||
|
||||
SkeletonStatelessFF::SkeletonStatelessFF(size_t startInd, const std::string &line)
|
||||
:StatelessFeatureFunction(startInd, line)
|
||||
{
|
||||
// TODO Auto-generated constructor stub
|
||||
|
||||
}
|
||||
|
||||
SkeletonStatelessFF::~SkeletonStatelessFF() {
|
||||
// TODO Auto-generated destructor stub
|
||||
}
|
||||
|
17
contrib/other-builds/moses2/SkeletonStatelessFF.h
Normal file
17
contrib/other-builds/moses2/SkeletonStatelessFF.h
Normal file
@ -0,0 +1,17 @@
|
||||
/*
|
||||
* SkeletonStatefulFF.h
|
||||
*
|
||||
* Created on: 27 Oct 2015
|
||||
* Author: hieu
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "StatelessFeatureFunction.h"
|
||||
|
||||
class SkeletonStatelessFF : public StatelessFeatureFunction
|
||||
{
|
||||
public:
|
||||
SkeletonStatelessFF(size_t startInd, const std::string &line);
|
||||
virtual ~SkeletonStatelessFF();
|
||||
};
|
@ -9,7 +9,7 @@
|
||||
#include <vector>
|
||||
#include "FeatureFunctions.h"
|
||||
#include "Weights.h"
|
||||
#include "util/pool.hh"
|
||||
#include "MemPool.h"
|
||||
#include "moses/FactorCollection.h"
|
||||
#include "moses/Parameter.h"
|
||||
|
||||
@ -28,10 +28,10 @@ public:
|
||||
const FeatureFunctions &GetFeatureFunctions() const
|
||||
{ return m_featureFunctions; }
|
||||
|
||||
util::Pool &GetSystemPool()
|
||||
MemPool &GetSystemPool()
|
||||
{ return m_systemPool; }
|
||||
|
||||
util::Pool &GetManagerPool()
|
||||
MemPool &GetManagerPool()
|
||||
{ return m_managerPool; }
|
||||
|
||||
Moses::FactorCollection &GetVocab() const
|
||||
@ -44,8 +44,8 @@ protected:
|
||||
const Moses::Parameter &m_params;
|
||||
|
||||
mutable Moses::FactorCollection m_vocab;
|
||||
util::Pool m_systemPool;
|
||||
util::Pool m_managerPool;
|
||||
MemPool m_systemPool;
|
||||
MemPool m_managerPool;
|
||||
FeatureFunctions m_featureFunctions;
|
||||
Weights m_weights;
|
||||
|
||||
|
@ -10,11 +10,11 @@
|
||||
#include "Scores.h"
|
||||
#include "Manager.h"
|
||||
#include "System.h"
|
||||
#include "util/pool.hh"
|
||||
#include "MemPool.h"
|
||||
|
||||
using namespace std;
|
||||
|
||||
TargetPhrase *TargetPhrase::CreateFromString(util::Pool &pool, System &system, const std::string &str)
|
||||
TargetPhrase *TargetPhrase::CreateFromString(MemPool &pool, System &system, const std::string &str)
|
||||
{
|
||||
Moses::FactorCollection &vocab = system.GetVocab();
|
||||
|
||||
@ -26,7 +26,7 @@ TargetPhrase *TargetPhrase::CreateFromString(util::Pool &pool, System &system, c
|
||||
return ret;
|
||||
}
|
||||
|
||||
TargetPhrase::TargetPhrase(util::Pool &pool, System &system, size_t size)
|
||||
TargetPhrase::TargetPhrase(MemPool &pool, System &system, size_t size)
|
||||
:Phrase(pool, size)
|
||||
{
|
||||
m_scores = new (pool.Allocate<Scores>()) Scores(pool, system.GetFeatureFunctions().GetNumScores());
|
||||
|
@ -9,7 +9,7 @@
|
||||
|
||||
#include <iostream>
|
||||
#include "Phrase.h"
|
||||
#include "util/pool.hh"
|
||||
#include "MemPool.h"
|
||||
|
||||
class Scores;
|
||||
class Manager;
|
||||
@ -19,8 +19,8 @@ class TargetPhrase : public Phrase
|
||||
{
|
||||
friend std::ostream& operator<<(std::ostream &, const TargetPhrase &);
|
||||
public:
|
||||
static TargetPhrase *CreateFromString(util::Pool &pool, System &system, const std::string &str);
|
||||
TargetPhrase(util::Pool &pool, System &system, size_t size);
|
||||
static TargetPhrase *CreateFromString(MemPool &pool, System &system, const std::string &str);
|
||||
TargetPhrase(MemPool &pool, System &system, size_t size);
|
||||
virtual ~TargetPhrase();
|
||||
|
||||
Scores &GetScores()
|
||||
|
Loading…
Reference in New Issue
Block a user