mirror of
https://github.com/moses-smt/mosesdecoder.git
synced 2024-09-19 07:07:24 +03:00
fix optimiser interface
git-svn-id: https://mosesdecoder.svn.sourceforge.net/svnroot/mosesdecoder/branches/mira-mtm5@3468 1f5c12ca-751b-0410-a591-d2e778427230
This commit is contained in:
parent
8c078cdde7
commit
f1515e5dac
@ -117,22 +117,25 @@ int main(int argc, char** argv) {
|
||||
|
||||
//Main loop:
|
||||
srand(time(NULL));
|
||||
bool converged = false;
|
||||
Decoder* decoder = new MosesDecoder();
|
||||
Optimiser* optimiser = new DummyOptimiser();
|
||||
size_t epochs = 1;
|
||||
|
||||
while (!converged) {
|
||||
//pick sentence (TODO: batch)
|
||||
int sentenceId = rand() % inputSentences.size();
|
||||
const string& input = inputSentences[sentenceId];
|
||||
const vector<string>& refs = referenceSentences[sentenceId];
|
||||
for (size_t epoch = 0; epoch < epochs; ++epoch) {
|
||||
//TODO: batch
|
||||
for (size_t sid = 0; sid < inputSentences.size(); ++sid) {
|
||||
const string& input = inputSentences[sid];
|
||||
const vector<string>& refs = referenceSentences[sid];
|
||||
|
||||
//run decoder (TODO: hope & fear)
|
||||
TrellisPathList sentences;
|
||||
decoder->getNBest(input, 100, sentences);
|
||||
//run optimiser
|
||||
//run decoder (TODO: hope & fear)
|
||||
TrellisPathList sentences;
|
||||
decoder->getNBest(input, 100, sentences);
|
||||
//extract scores from nbest + oracle
|
||||
|
||||
//update moses weights
|
||||
//run optimiser
|
||||
|
||||
//update moses weights
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
@ -30,7 +30,7 @@ namespace Mira {
|
||||
public:
|
||||
virtual void updateWeights(const Moses::ScoreComponentCollection& currWeights,
|
||||
const std::vector< std::vector<Moses::ScoreComponentCollection> >& scores,
|
||||
const std::vector<float>& losses,
|
||||
const std::vector<std::vector<float> >& losses,
|
||||
const Moses::ScoreComponentCollection oracleScores,
|
||||
Moses::ScoreComponentCollection& newWeights) = 0;
|
||||
};
|
||||
@ -39,9 +39,9 @@ namespace Mira {
|
||||
public:
|
||||
virtual void updateWeights(const Moses::ScoreComponentCollection& currWeights,
|
||||
const std::vector< std::vector<Moses::ScoreComponentCollection> >& scores,
|
||||
const std::vector<float>& losses,
|
||||
const std::vector<std::vector<float> >& losses,
|
||||
const Moses::ScoreComponentCollection oracleScores,
|
||||
Moses::ScoreComponentCollection& newWeights) {/* do nothing */}
|
||||
Moses::ScoreComponentCollection& newWeights) {newWeights = currWeights;}
|
||||
};
|
||||
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user