diff options
author | Chris Dyer <cdyer@cs.cmu.edu> | 2011-10-20 00:10:29 +0100 |
---|---|---|
committer | Chris Dyer <cdyer@cs.cmu.edu> | 2011-10-20 00:10:29 +0100 |
commit | 64318d1ef80df243b85d5bc89023dd2f14ed6806 (patch) | |
tree | 0f3947a0a43cb855130909539e4d8657473204b5 | |
parent | 04e38a57b19ea012895ac2efb39382c2e77833a9 (diff) |
fix to prevent stale weights
-rw-r--r-- | decoder/ff.cc | 4 | ||||
-rw-r--r-- | decoder/ff.h | 7 |
2 files changed, 3 insertions, 8 deletions
diff --git a/decoder/ff.cc b/decoder/ff.cc index 1258bc79..557e0b5f 100644 --- a/decoder/ff.cc +++ b/decoder/ff.cc @@ -37,7 +37,7 @@ Features FeatureFunction::single_feature(WordID feat) { } Features ModelSet::all_features(std::ostream *warn,bool warn0) { - return ::all_features(models_,weights_,warn,warn0); + //return ::all_features(models_,weights_,warn,warn0); } void show_features(Features const& ffs,DenseWeightVector const& weights_,std::ostream &out,std::ostream &warn,bool warn_zero_wt) { @@ -55,7 +55,7 @@ void show_features(Features const& ffs,DenseWeightVector const& weights_,std::os void ModelSet::show_features(std::ostream &out,std::ostream &warn,bool warn_zero_wt) { // ::show_features(all_features(),weights_,out,warn,warn_zero_wt); - show_all_features(models_,weights_,out,warn,warn_zero_wt,warn_zero_wt); + //show_all_features(models_,weights_,out,warn,warn_zero_wt,warn_zero_wt); } // Hiero and Joshua use log_10(e) as the value, so I do to diff --git a/decoder/ff.h b/decoder/ff.h index c3aa9b6d..6c22d39f 100644 --- a/decoder/ff.h +++ b/decoder/ff.h @@ -259,14 +259,9 @@ typedef std::vector<FFState> FFStates; // etc. a (translation?) forest class ModelSet { public: - ModelSet() : state_size_(0) {} - ModelSet(const std::vector<double>& weights, const std::vector<const FeatureFunction*>& models); - // TODO stop stupid copy - void SetWeights(const std::vector<double>& w) { weights_ = w; } - // sets edge->feature_values_ and edge->edge_prob_ // NOTE: edge must not necessarily be in hg.edges_ but its TAIL nodes // must be. edge features are supposed to be overwritten, not added to (possibly because rule features aren't in ModelSet so need to be left alone @@ -294,7 +289,7 @@ class ModelSet { private: std::vector<const FeatureFunction*> models_; - std::vector<double> weights_; + const std::vector<double>& weights_; int state_size_; std::vector<int> model_state_pos_; }; |