summaryrefslogtreecommitdiff
path: root/training/mira
diff options
context:
space:
mode:
authorMichael Denkowski <mdenkows@cs.cmu.edu>2013-09-17 12:46:02 -0700
committerMichael Denkowski <mdenkows@cs.cmu.edu>2013-09-17 12:46:02 -0700
commita30a2e59ff117ad6bae80ece2bf535767daf7db6 (patch)
tree7fdceee683e6080cf6c99d871b2281384ba529c3 /training/mira
parent08be69abb923b74f7dc27712d6bef7f6e4a05377 (diff)
Save/load weights in stream mira
Diffstat (limited to 'training/mira')
-rw-r--r--training/mira/kbest_cut_mira.cc15
1 files changed, 14 insertions, 1 deletions
diff --git a/training/mira/kbest_cut_mira.cc b/training/mira/kbest_cut_mira.cc
index a9a4aeb6..59fa860a 100644
--- a/training/mira/kbest_cut_mira.cc
+++ b/training/mira/kbest_cut_mira.cc
@@ -745,10 +745,23 @@ int main(int argc, char** argv) {
delim = buf.find(" ||| ");
ds->update(buf.substr(delim + 5));
buf = buf.substr(0, delim);
+ } else if (cmd == "WEIGHTS") {
+ // WEIGHTS ||| WRITE
+ if (buf == "WRITE") {
+ cout << Weights::GetString(dense_weights) << endl;
+ // WEIGHTS ||| f1=w1 f2=w2 ...
+ } else {
+ Weights::UpdateFromString(buf, dense_weights);
+ }
+ continue;
+ } else {
+ cerr << "Error: cannot parse command, skipping line:" << endl;
+ cerr << cmd << " ||| " << buf << endl;
+ continue;
}
- // TODO: additional commands
}
}
+ // Regular mode or LEARN line from stream mode
//TODO: allow batch updating
lambdas.init_vector(&dense_weights);
dense_w_local = dense_weights;