monitor changes in bleu feature history

git-svn-id: http://svn.statmt.org/repository/mira@3875 cc96ff50-19ce-11e0-b349-13d7f0bd23df
This commit is contained in:
ehasler 2011-04-13 12:22:02 +00:00 committed by Ondrej Bojar
parent b23fcf8143
commit 1338ccb718
5 changed files with 8 additions and 6 deletions

View File

@ -242,8 +242,8 @@ namespace Mira {
m_bleuScoreFeature->UpdateHistory(words);
}
void MosesDecoder::updateHistory(const vector< vector< const Word*> >& words, vector<size_t>& sourceLengths, vector<size_t>& ref_ids) {
m_bleuScoreFeature->UpdateHistory(words, sourceLengths, ref_ids);
void MosesDecoder::updateHistory(const vector< vector< const Word*> >& words, vector<size_t>& sourceLengths, vector<size_t>& ref_ids, size_t rank, size_t epoch) {
m_bleuScoreFeature->UpdateHistory(words, sourceLengths, ref_ids, rank, epoch);
}
vector<float> MosesDecoder::calculateBleuOfCorpus(const vector< vector< const Word*> >& words, vector<size_t>& ref_ids, size_t epoch, size_t rank) {

View File

@ -69,7 +69,7 @@ class MosesDecoder {
bool distinct);
size_t getCurrentInputLength();
void updateHistory(const std::vector<const Moses::Word*>& words);
void updateHistory(const std::vector< std::vector< const Moses::Word*> >& words, std::vector<size_t>& sourceLengths, std::vector<size_t>& ref_ids);
void updateHistory(const std::vector< std::vector< const Moses::Word*> >& words, std::vector<size_t>& sourceLengths, std::vector<size_t>& ref_ids, size_t rank, size_t epoch);
std::vector<float> calculateBleuOfCorpus(const std::vector< std::vector< const Moses::Word*> >& words, std::vector<size_t>& ref_ids, size_t epoch, size_t rank);
void setBPfactor(float factor);
Moses::ScoreComponentCollection getWeights();

View File

@ -611,7 +611,7 @@ int main(int argc, char** argv) {
for (size_t i = 0; i < oracles.size(); ++i) {
cerr << "Rank " << rank << ", oracle length: " << oracles[i].size() << " ";
}
decoder->updateHistory(oracles, inputLengths, ref_ids);
decoder->updateHistory(oracles, inputLengths, ref_ids, rank, epoch);
// clean up oracle translations after updating history
for (size_t i = 0; i < oracles.size(); ++i) {

View File

@ -168,7 +168,7 @@ void BleuScoreFeature::UpdateHistory(const vector< const Word* >& hypo) {
/*
* Update history with a batch of oracle translations
*/
void BleuScoreFeature::UpdateHistory(const vector< vector< const Word* > >& hypos, vector<size_t>& sourceLengths, vector<size_t>& ref_ids) {
void BleuScoreFeature::UpdateHistory(const vector< vector< const Word* > >& hypos, vector<size_t>& sourceLengths, vector<size_t>& ref_ids, size_t rank, size_t epoch) {
for (size_t batchPosition = 0; batchPosition < hypos.size(); ++batchPosition){
Phrase phrase(Output, hypos[batchPosition]);
std::vector< size_t > ngram_counts(BleuScoreState::bleu_order);
@ -203,6 +203,8 @@ void BleuScoreFeature::UpdateHistory(const vector< vector< const Word* > >& hypo
// do this for last position in batch
if (batchPosition == hypos.size() - 1) {
cerr << "Rank " << rank << ", epoch " << epoch << " ,source length history: " << m_source_length_history << " --> " << m_source_length_history * m_historySmoothing << endl;
cerr << "Rank " << rank << ", epoch " << epoch << " ,target length history: " << m_target_length_history << " --> " << m_target_length_history * m_historySmoothing << endl;
m_source_length_history *= m_historySmoothing;
m_target_length_history *= m_historySmoothing;
m_ref_length_history *= m_historySmoothing;

View File

@ -67,7 +67,7 @@ public:
void SetCurrentReference(size_t);
void SetBPfactor(float);
void UpdateHistory(const std::vector< const Word* >&);
void UpdateHistory(const std::vector< std::vector< const Word* > >& hypos, std::vector<size_t>& sourceLengths, std::vector<size_t>& ref_ids);
void UpdateHistory(const std::vector< std::vector< const Word* > >& hypos, std::vector<size_t>& sourceLengths, std::vector<size_t>& ref_ids, size_t rank, size_t epoch);
void GetNgramMatchCounts(Phrase&,
const NGrams&,
std::vector< size_t >&,