summaryrefslogtreecommitdiff
path: root/decoder/cdec.cc
diff options
context:
space:
mode:
authorgraehl <graehl@ec762483-ff6d-05da-a07a-a48fb63a330f>2010-08-18 21:08:40 +0000
committergraehl <graehl@ec762483-ff6d-05da-a07a-a48fb63a330f>2010-08-18 21:08:40 +0000
commit242774be8f3e4c08d1406ca4ecc9abcc1ca7d190 (patch)
treec07485c26fcc38424cc74aa9ecb3fddf96682eb9 /decoder/cdec.cc
parent82660120ee09b11b697f04c3bffed8c0db899fc1 (diff)
show_weights show_config
git-svn-id: https://ws10smt.googlecode.com/svn/trunk@592 ec762483-ff6d-05da-a07a-a48fb63a330f
Diffstat (limited to 'decoder/cdec.cc')
-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");