mirror of
https://github.com/moses-smt/mosesdecoder.git
synced 2024-09-20 07:42:21 +03:00
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:
parent
b23fcf8143
commit
1338ccb718
@ -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) {
|
||||
|
@ -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();
|
||||
|
@ -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) {
|
||||
|
@ -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;
|
||||
|
@ -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 >&,
|
||||
|
Loading…
Reference in New Issue
Block a user