remove prints
parent
b35fb0f668
commit
4e9d849595
|
@ -139,27 +139,16 @@ DecisionTreeFactor HybridBayesNet::pruneDiscreteConditionals(
|
||||||
for (size_t i = 0; i < this->size(); i++) {
|
for (size_t i = 0; i < this->size(); i++) {
|
||||||
auto conditional = this->at(i);
|
auto conditional = this->at(i);
|
||||||
if (conditional->isDiscrete()) {
|
if (conditional->isDiscrete()) {
|
||||||
std::cout << ">>>" << std::endl;
|
|
||||||
conditional->print();
|
|
||||||
discreteProbs = discreteProbs * (*conditional->asDiscrete());
|
discreteProbs = discreteProbs * (*conditional->asDiscrete());
|
||||||
// discreteProbs.print();
|
|
||||||
// std::cout << "================\n" << std::endl;
|
|
||||||
|
|
||||||
Ordering conditional_keys(conditional->frontals());
|
Ordering conditional_keys(conditional->frontals());
|
||||||
discrete_frontals += conditional_keys;
|
discrete_frontals += conditional_keys;
|
||||||
discrete_factor_idxs.push_back(i);
|
discrete_factor_idxs.push_back(i);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
std::cout << "Original Joint Prob:" << std::endl;
|
|
||||||
std::cout << discreteProbs.nrAssignments() << std::endl;
|
|
||||||
discreteProbs.print();
|
|
||||||
const DecisionTreeFactor prunedDiscreteProbs =
|
const DecisionTreeFactor prunedDiscreteProbs =
|
||||||
discreteProbs.prune(maxNrLeaves);
|
discreteProbs.prune(maxNrLeaves);
|
||||||
std::cout << "Pruned Joint Prob:" << std::endl;
|
|
||||||
std::cout << prunedDiscreteProbs.nrAssignments() << std::endl;
|
|
||||||
prunedDiscreteProbs.print();
|
|
||||||
std::cout << "\n\n\n";
|
|
||||||
gttoc_(HybridBayesNet_PruneDiscreteConditionals);
|
|
||||||
|
|
||||||
// Eliminate joint probability back into conditionals
|
// Eliminate joint probability back into conditionals
|
||||||
DiscreteFactorGraph dfg{prunedDiscreteProbs};
|
DiscreteFactorGraph dfg{prunedDiscreteProbs};
|
||||||
|
@ -168,8 +157,6 @@ DecisionTreeFactor HybridBayesNet::pruneDiscreteConditionals(
|
||||||
// Assign pruned discrete conditionals back at the correct indices.
|
// Assign pruned discrete conditionals back at the correct indices.
|
||||||
for (size_t i = 0; i < discrete_factor_idxs.size(); i++) {
|
for (size_t i = 0; i < discrete_factor_idxs.size(); i++) {
|
||||||
size_t idx = discrete_factor_idxs.at(i);
|
size_t idx = discrete_factor_idxs.at(i);
|
||||||
// std::cout << i << std::endl;
|
|
||||||
// dbn->at(i)->print();
|
|
||||||
this->at(idx) = std::make_shared<HybridConditional>(dbn->at(i));
|
this->at(idx) = std::make_shared<HybridConditional>(dbn->at(i));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -96,7 +96,6 @@ static GaussianFactorGraphTree addGaussian(
|
||||||
// TODO(dellaert): it's probably more efficient to first collect the discrete
|
// TODO(dellaert): it's probably more efficient to first collect the discrete
|
||||||
// keys, and then loop over all assignments to populate a vector.
|
// keys, and then loop over all assignments to populate a vector.
|
||||||
GaussianFactorGraphTree HybridGaussianFactorGraph::assembleGraphTree() const {
|
GaussianFactorGraphTree HybridGaussianFactorGraph::assembleGraphTree() const {
|
||||||
|
|
||||||
GaussianFactorGraphTree result;
|
GaussianFactorGraphTree result;
|
||||||
|
|
||||||
for (auto &f : factors_) {
|
for (auto &f : factors_) {
|
||||||
|
@ -175,7 +174,7 @@ discreteElimination(const HybridGaussianFactorGraph &factors,
|
||||||
throwRuntimeError("continuousElimination", f);
|
throwRuntimeError("continuousElimination", f);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
dfg.print("The DFG to eliminate");
|
|
||||||
// NOTE: This does sum-product. For max-product, use EliminateForMPE.
|
// NOTE: This does sum-product. For max-product, use EliminateForMPE.
|
||||||
auto result = EliminateDiscrete(dfg, frontalKeys);
|
auto result = EliminateDiscrete(dfg, frontalKeys);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue