cheers. You should check it in yourself, or create a git pull request. On 21/03/2016 19:00, David Madl wrote: > I observed a bug that ScoreComponentCollection core entries would retain > their score even after ZeroAll(). This may have affected the Moses > implementation of MIRA. > > * std::valarray::resize(0) means "resize to 0" [1] > * subsequent accesses using operator[] result in undefined behavior [2] > > FeatureVector::clear() is used by ScoreComponentCollection::ZeroAll(), > which in turn was used in these places: > > ./contrib/mira/Main.cpp:665: cumulativeWeights.ZeroAll(); > ./contrib/mira/Main.cpp:666: cumulativeWeightsBinary.ZeroAll(); > ./moses/Incremental.cpp:580: features.ZeroAll(); > > It seems to me that the Moses implementation of MIRA may have been affected? > > [1] http://www.cplusplus.com/reference/valarray/valarray/resize/ > [2] http://www.cplusplus.com/reference/valarray/valarray/operator%5B%5D/ > --- > moses/FeatureVector.cpp | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/moses/FeatureVector.cpp b/moses/FeatureVector.cpp > index 45a198c..f92bced 100644 > --- a/moses/FeatureVector.cpp > +++ b/moses/FeatureVector.cpp > @@ -175,7 +175,7 @@ void FVector::resize(size_t newsize) > void FVector::clear() > { > - m_coreFeatures.resize(0); > + m_coreFeatures.resize(m_coreFeatures.size(), 0); > m_features.clear(); > } > -- 2.7.0 > > _______________________________________________ > Moses-support mailing list > [email protected] > http://mailman.mit.edu/mailman/listinfo/moses-support >
_______________________________________________ Moses-support mailing list [email protected] http://mailman.mit.edu/mailman/listinfo/moses-support
