diff options
Diffstat (limited to 'training/dtrain/dtrain.h')
-rw-r--r-- | training/dtrain/dtrain.h | 48 |
1 files changed, 20 insertions, 28 deletions
diff --git a/training/dtrain/dtrain.h b/training/dtrain/dtrain.h index 728b0698..8b1a00eb 100644 --- a/training/dtrain/dtrain.h +++ b/training/dtrain/dtrain.h @@ -27,17 +27,10 @@ struct ScoredHyp vector<WordID> w; SparseVector<weight_t> f; weight_t model, gold; - size_t rank; + size_t rank; }; inline void -RegisterAndConvert(const vector<string>& strs, vector<WordID>& ids) -{ - for (auto s: strs) - ids.push_back(TD::Convert(s)); -} - -inline void PrintWordIDVec(vector<WordID>& v, ostream& os=cerr) { for (size_t i = 0; i < v.size(); i++) { @@ -48,44 +41,43 @@ PrintWordIDVec(vector<WordID>& v, ostream& os=cerr) inline ostream& _np(ostream& out) { return out << resetiosflags(ios::showpos); } inline ostream& _p(ostream& out) { return out << setiosflags(ios::showpos); } -inline ostream& _p2(ostream& out) { return out << setprecision(2); } -inline ostream& _p5(ostream& out) { return out << setprecision(5); } +inline ostream& _p4(ostream& out) { return out << setprecision(4); } bool dtrain_init(int argc, char** argv, po::variables_map* conf) { po::options_description ini("Configuration File Options"); ini.add_options() - ("bitext,b", po::value<string>(), "bitext") - ("decoder_config,C", po::value<string>(), "configuration file for decoder") - ("iterations,T", po::value<size_t>()->default_value(10), "number of iterations T (per shard)") - ("k", po::value<size_t>()->default_value(100), "size of kbest list") - ("learning_rate,l", po::value<weight_t>()->default_value(1.0), "learning rate") - ("l1_reg,r", po::value<weight_t>()->default_value(0.), "l1 regularization strength") - ("error_margin,m", po::value<weight_t>()->default_value(0.), "margin for margin perceptron") - ("N", po::value<size_t>()->default_value(4), "N for BLEU approximation") - ("input_weights,w", po::value<string>(), "input weights file") - ("average,a", po::value<bool>()->default_value(false), "output average weights") - ("keep,K", po::value<bool>()->default_value(false), "output a weight file per iteration") - ("output,o", po::value<string>()->default_value("-"), "output weights file, '-' for STDOUT") + ("bitext,b", po::value<string>(), "bitext") + ("decoder_conf,C", po::value<string>(), "configuration file for decoder") + ("iterations,T", po::value<size_t>()->default_value(10), "number of iterations T (per shard)") + ("k", po::value<size_t>()->default_value(100), "size of kbest list") + ("learning_rate,l", po::value<weight_t>()->default_value(1.0), "learning rate") + ("l1_reg,r", po::value<weight_t>()->default_value(0.), "l1 regularization strength") + ("error_margin,m", po::value<weight_t>()->default_value(0.), "margin for margin perceptron") + ("N", po::value<size_t>()->default_value(4), "N for BLEU approximation") + ("input_weights,w", po::value<string>(), "input weights file") + ("average,a", po::value<bool>()->default_value(false), "output average weights") + ("keep,K", po::value<bool>()->default_value(false), "output a weight file per iteration") + ("output,o", po::value<string>()->default_value("-"), "output weights file, '-' for STDOUT") ("print_weights,P", po::value<string>()->default_value("EgivenFCoherent SampleCountF CountEF MaxLexFgivenE MaxLexEgivenF IsSingletonF IsSingletonFE Glue WordPenalty PassThrough LanguageModel LanguageModel_OOV"), - "list of weights to print after each iteration"); + "list of weights to print after each iteration"); po::options_description cl("Command Line Options"); cl.add_options() - ("config,c", po::value<string>(), "dtrain config file"); + ("conf,c", po::value<string>(), "dtrain configuration file"); cl.add(ini); po::store(parse_command_line(argc, argv, cl), *conf); - if (conf->count("config")) { - ifstream f((*conf)["config"].as<string>().c_str()); + if (conf->count("conf")) { + ifstream f((*conf)["conf"].as<string>().c_str()); po::store(po::parse_config_file(f, ini), *conf); } po::notify(*conf); - if (!conf->count("decoder_config")) { + if (!conf->count("decoder_conf")) { cerr << "Missing decoder configuration." << endl; return false; } if (!conf->count("bitext")) { - cerr << "No training data given." << endl; + cerr << "No input given." << endl; return false; } |