fix gbn optimize everywhere for HybridBayesTree
parent
f165559f91
commit
496ddf886f
|
|
@ -70,6 +70,14 @@ HybridValues HybridBayesTree::optimize() const {
|
||||||
DiscreteValues mpe = DiscreteFactorGraph(dbn).optimize();
|
DiscreteValues mpe = DiscreteFactorGraph(dbn).optimize();
|
||||||
// Given the MPE, compute the optimal continuous values.
|
// Given the MPE, compute the optimal continuous values.
|
||||||
GaussianBayesNet gbn = hbn.choose(mpe);
|
GaussianBayesNet gbn = hbn.choose(mpe);
|
||||||
|
|
||||||
|
// If TBB is enabled, the bayes net order gets reversed,
|
||||||
|
// so we pre-reverse it
|
||||||
|
#ifdef GTSAM_USE_TBB
|
||||||
|
auto reversed = boost::adaptors::reverse(gbn);
|
||||||
|
gbn = GaussianBayesNet(reversed.begin(), reversed.end());
|
||||||
|
#endif
|
||||||
|
|
||||||
return HybridValues(mpe, gbn.optimize());
|
return HybridValues(mpe, gbn.optimize());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -104,6 +112,7 @@ VectorValues HybridBayesTree::optimize(const DiscreteValues& assignment) const {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// If TBB is enabled, the bayes net order gets reversed,
|
// If TBB is enabled, the bayes net order gets reversed,
|
||||||
// so we pre-reverse it
|
// so we pre-reverse it
|
||||||
#ifdef GTSAM_USE_TBB
|
#ifdef GTSAM_USE_TBB
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue