implement a printSolverParameters in ground solvers
This commit is contained in:
parent
f3be68a552
commit
00faccd940
@ -48,6 +48,28 @@ BpSolver::solveQuery (VarIds queryVids)
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
void
|
||||||
|
BpSolver::printSolverFlags (void) const
|
||||||
|
{
|
||||||
|
stringstream ss;
|
||||||
|
ss << "belief propagation [" ;
|
||||||
|
ss << "schedule=" ;
|
||||||
|
typedef BpOptions::Schedule Sch;
|
||||||
|
switch (BpOptions::schedule) {
|
||||||
|
case Sch::SEQ_FIXED: ss << "seq_fixed"; break;
|
||||||
|
case Sch::SEQ_RANDOM: ss << "seq_random"; break;
|
||||||
|
case Sch::PARALLEL: ss << "parallel"; break;
|
||||||
|
case Sch::MAX_RESIDUAL: ss << "max_residual"; break;
|
||||||
|
}
|
||||||
|
ss << ",maxiter=" << Util::toString (BpOptions::maxIter);
|
||||||
|
ss << ",accuracy=" << Util::toString (BpOptions::accuracy);
|
||||||
|
ss << ",log_domain=" << Util::toString (Globals::logDomain);
|
||||||
|
ss << "]" ;
|
||||||
|
cout << ss.str() << endl;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Params
|
Params
|
||||||
BpSolver::getPosterioriOf (VarId vid)
|
BpSolver::getPosterioriOf (VarId vid)
|
||||||
{
|
{
|
||||||
|
@ -97,6 +97,8 @@ class BpSolver : public Solver
|
|||||||
|
|
||||||
Params solveQuery (VarIds);
|
Params solveQuery (VarIds);
|
||||||
|
|
||||||
|
virtual void printSolverFlags (void) const;
|
||||||
|
|
||||||
virtual Params getPosterioriOf (VarId);
|
virtual Params getPosterioriOf (VarId);
|
||||||
|
|
||||||
virtual Params getJointDistributionOf (const VarIds&);
|
virtual Params getJointDistributionOf (const VarIds&);
|
||||||
|
@ -40,6 +40,32 @@ CbpSolver::~CbpSolver (void)
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
void
|
||||||
|
CbpSolver::printSolverFlags (void) const
|
||||||
|
{
|
||||||
|
stringstream ss;
|
||||||
|
ss << "counting bp [" ;
|
||||||
|
ss << "schedule=" ;
|
||||||
|
typedef BpOptions::Schedule Sch;
|
||||||
|
switch (BpOptions::schedule) {
|
||||||
|
case Sch::SEQ_FIXED: ss << "seq_fixed"; break;
|
||||||
|
case Sch::SEQ_RANDOM: ss << "seq_random"; break;
|
||||||
|
case Sch::PARALLEL: ss << "parallel"; break;
|
||||||
|
case Sch::MAX_RESIDUAL: ss << "max_residual"; break;
|
||||||
|
}
|
||||||
|
ss << ",max_iter=" << BpOptions::maxIter;
|
||||||
|
ss << ",accuracy=" << BpOptions::accuracy;
|
||||||
|
ss << ",log_domain=" << Util::toString (Globals::logDomain);
|
||||||
|
ss << ",order_vars=" << Util::toString (FactorGraph::orderVariables);
|
||||||
|
ss << ",chkif=" <<
|
||||||
|
Util::toString (CFactorGraph::checkForIdenticalFactors);
|
||||||
|
ss << "]" ;
|
||||||
|
cout << ss.str() << endl;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Params
|
Params
|
||||||
CbpSolver::getPosterioriOf (VarId vid)
|
CbpSolver::getPosterioriOf (VarId vid)
|
||||||
{
|
{
|
||||||
|
@ -38,6 +38,8 @@ class CbpSolver : public BpSolver
|
|||||||
CbpSolver (const FactorGraph& fg);
|
CbpSolver (const FactorGraph& fg);
|
||||||
|
|
||||||
~CbpSolver (void);
|
~CbpSolver (void);
|
||||||
|
|
||||||
|
void printSolverFlags (void) const;
|
||||||
|
|
||||||
Params getPosterioriOf (VarId);
|
Params getPosterioriOf (VarId);
|
||||||
|
|
||||||
|
@ -18,6 +18,8 @@ class Solver
|
|||||||
|
|
||||||
virtual Params solveQuery (VarIds queryVids) = 0;
|
virtual Params solveQuery (VarIds queryVids) = 0;
|
||||||
|
|
||||||
|
virtual void printSolverFlags (void) const = 0;
|
||||||
|
|
||||||
void printAnswer (const VarIds& vids);
|
void printAnswer (const VarIds& vids);
|
||||||
|
|
||||||
void printAllPosterioris (void);
|
void printAllPosterioris (void);
|
||||||
|
@ -32,6 +32,26 @@ VarElimSolver::solveQuery (VarIds queryVids)
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
void
|
||||||
|
VarElimSolver::printSolverFlags (void) const
|
||||||
|
{
|
||||||
|
stringstream ss;
|
||||||
|
ss << "variable elimination [" ;
|
||||||
|
ss << "elim_heuristic=" ;
|
||||||
|
ElimHeuristic eh = ElimGraph::getEliminationHeuristic();
|
||||||
|
switch (eh) {
|
||||||
|
case MIN_NEIGHBORS: ss << "min_neighbors"; break;
|
||||||
|
case MIN_WEIGHT: ss << "min_weight"; break;
|
||||||
|
case MIN_FILL: ss << "min_fill"; break;
|
||||||
|
case WEIGHTED_MIN_FILL: ss << "weighted_min_fill"; break;
|
||||||
|
}
|
||||||
|
ss << ",log_domain=" << Util::toString (Globals::logDomain);
|
||||||
|
ss << "]" ;
|
||||||
|
cout << ss.str() << endl;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
VarElimSolver::createFactorList (void)
|
VarElimSolver::createFactorList (void)
|
||||||
{
|
{
|
||||||
|
@ -20,6 +20,8 @@ class VarElimSolver : public Solver
|
|||||||
|
|
||||||
Params solveQuery (VarIds);
|
Params solveQuery (VarIds);
|
||||||
|
|
||||||
|
void printSolverFlags (void) const;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void createFactorList (void);
|
void createFactorList (void);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user