Take notice of calc in t-option flag

This commit is contained in:
Barry Haddow 2012-09-04 17:50:30 +01:00
parent 2f8bffb1e1
commit 54433bb221
4 changed files with 7 additions and 23 deletions

View File

@ -187,17 +187,9 @@ static void ShowWeights()
const TranslationSystem& system = staticData.GetTranslationSystem(TranslationSystem::DEFAULT);
const vector<const StatelessFeatureFunction*>& slf =system.GetStatelessFeatureFunctions();
const vector<const StatefulFeatureFunction*>& sff = system.GetStatefulFeatureFunctions();
const vector<PhraseDictionaryFeature*>& pds = system.GetPhraseDictionaries();
const vector<GenerationDictionary*>& gds = system.GetGenerationDictionaries();
for (size_t i = 0; i < sff.size(); ++i) {
PrintFeatureWeight(sff[i]);
}
for (size_t i = 0; i < pds.size(); ++i) {
PrintFeatureWeight(pds[i]);
}
for (size_t i = 0; i < gds.size(); ++i) {
PrintFeatureWeight(gds[i]);
}
for (size_t i = 0; i < slf.size(); ++i) {
PrintFeatureWeight(slf[i]);
}

View File

@ -319,20 +319,12 @@ static void ShowWeights()
const TranslationSystem& system = staticData.GetTranslationSystem(TranslationSystem::DEFAULT);
const vector<const StatelessFeatureFunction*>& slf =system.GetStatelessFeatureFunctions();
const vector<const StatefulFeatureFunction*>& sff = system.GetStatefulFeatureFunctions();
const vector<PhraseDictionaryFeature*>& pds = system.GetPhraseDictionaries();
const vector<GenerationDictionary*>& gds = system.GetGenerationDictionaries();
for (size_t i = 0; i < sff.size(); ++i) {
PrintFeatureWeight(sff[i]);
}
for (size_t i = 0; i < slf.size(); ++i) {
PrintFeatureWeight(slf[i]);
}
for (size_t i = 0; i < pds.size(); ++i) {
PrintFeatureWeight(pds[i]);
}
for (size_t i = 0; i < gds.size(); ++i) {
PrintFeatureWeight(gds[i]);
}
}
} //namespace

View File

@ -299,11 +299,14 @@ void Hypothesis::CalcScore(const SquareMatrix &futureScore)
clock_t t=0; // used to track time
// compute values of stateless feature functions that were not
// cached in the translation option-- there is no principled distinction
// cached in the translation option
const vector<const StatelessFeatureFunction*>& sfs =
m_manager.GetTranslationSystem()->GetStatelessFeatureFunctions();
for (unsigned i = 0; i < sfs.size(); ++i)
sfs[i]->Evaluate(*this, &m_currScoreBreakdown);
for (unsigned i = 0; i < sfs.size(); ++i) {
if (!sfs[i]->ComputeValueInTranslationOption()) {
sfs[i]->Evaluate(*this, &m_currScoreBreakdown);
}
}
const vector<const StatefulFeatureFunction*>& ffs =
m_manager.GetTranslationSystem()->GetStatefulFeatureFunctions();

View File

@ -78,10 +78,7 @@ namespace Moses {
m_producers.push_back(ff);
if (ff->IsStateless()) {
const StatelessFeatureFunction* statelessFF = static_cast<const StatelessFeatureFunction*>(ff);
if (!statelessFF->ComputeValueInTranslationOption()) {
m_statelessFFs.push_back(statelessFF);
}
m_statelessFFs.push_back(static_cast<const StatelessFeatureFunction*>(ff));
} else {
m_statefulFFs.push_back(static_cast<const StatefulFeatureFunction*>(ff));
}