summaryrefslogtreecommitdiff
path: root/decoder
diff options
context:
space:
mode:
authorChris Dyer <cdyer@cs.cmu.edu>2011-10-20 00:10:29 +0100
committerChris Dyer <cdyer@cs.cmu.edu>2011-10-20 00:10:29 +0100
commit64318d1ef80df243b85d5bc89023dd2f14ed6806 (patch)
tree0f3947a0a43cb855130909539e4d8657473204b5 /decoder
parent04e38a57b19ea012895ac2efb39382c2e77833a9 (diff)
fix to prevent stale weights
Diffstat (limited to 'decoder')
-rw-r--r--decoder/ff.cc4
-rw-r--r--decoder/ff.h7
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_;
};