summaryrefslogtreecommitdiff
path: root/decoder
diff options
context:
space:
mode:
Diffstat (limited to 'decoder')
-rw-r--r--decoder/cdec.cc16
1 files changed, 12 insertions, 4 deletions
diff --git a/decoder/cdec.cc b/decoder/cdec.cc
index b156c268..6b5543f8 100644
--- a/decoder/cdec.cc
+++ b/decoder/cdec.cc
@@ -46,6 +46,8 @@ using namespace std::tr1;
using boost::shared_ptr;
namespace po = boost::program_options;
+bool show_config=false;
+bool show_weights=false;
bool verbose_feature_functions=true;
// some globals ...
@@ -145,6 +147,8 @@ void InitCommandLine(int argc, char** argv, OracleBleu &ob, po::variables_map* c
("scfg_no_hiero_glue_grammar,n", "No Hiero glue grammar (nb. by default the SCFG decoder adds Hiero glue rules)")
("scfg_default_nt,d",po::value<string>()->default_value("X"),"Default non-terminal symbol in SCFG")
("scfg_max_span_limit,S",po::value<int>()->default_value(10),"Maximum non-terminal span limit (except \"glue\" grammar)")
+ ("show_config", po::bool_switch(&show_config), "show contents of loaded -c config files. note: this will have to appear before the -c argument to take effect")
+ ("show_weights", po::bool_switch(&show_weights), "show effective feature weights")
("show_joshua_visualization,J", "Produce output compatible with the Joshua visualization tools")
("show_tree_structure", "Show the Viterbi derivation structure")
("show_expected_length", "Show the expected translation length under the model")
@@ -207,8 +211,10 @@ void InitCommandLine(int argc, char** argv, OracleBleu &ob, po::variables_map* c
for (int i=0;i<cs.size();++i) {
string cfg=cs[i];
cerr << "Configuration file: " << cfg << endl;
- ifstream config(cfg.c_str());
- po::store(po::parse_config_file(config, dconfig_options), conf);
+ if (show_config)
+ CopyFile(cfg,cerr);
+ ReadFile conff(cfg);
+ po::store(po::parse_config_file(*conff, dconfig_options), conf);
}
}
po::notify(conf);
@@ -448,9 +454,11 @@ int main(int argc, char** argv) {
prelm_w.InitFromFile(plmw);
prelm_feature_weights.resize(FD::NumFeats());
prelm_w.InitVector(&prelm_feature_weights);
-// cerr << "prelm_weights: " << WeightVector(prelm_feature_weights)<<endl;
+ if (show_weights)
+ cerr << "prelm_weights: " << WeightVector(prelm_feature_weights)<<endl;
}
-// cerr << "+LM weights: " << WeightVector(feature_weights)<<endl;
+ if (show_weights)
+ cerr << "+LM weights: " << WeightVector(feature_weights)<<endl;
}
bool warn0=conf.count("warn_0_weight");
bool freeze=!conf.count("no_freeze_feature_set");