[opengm] 369/386: merge changes on inference methods from learning branch
Ghislain Vaillant
ghisvail-guest at moszumanska.debian.org
Wed Aug 31 08:38:35 UTC 2016
This is an automated email from the git hooks/post-receive script.
ghisvail-guest pushed a commit to branch debian/master
in repository opengm.
commit 00a338fa36e81e970b24354f8ad61e02daa9daaa
Author: Joerg Kappes <kappes at math.uni-heidelberg.de>
Date: Wed Jul 27 22:40:18 2016 +0200
merge changes on inference methods from learning branch
---
src/examples/unsorted-examples/inference_types.cxx | 9 +++++----
src/interfaces/commandline/double/opengm_min_sum.cxx | 9 ++++-----
src/tutorials/c++/basics/doMinSumInference.cxx | 2 +-
src/tutorials/c++/basics/doSumProdInference.cxx | 2 +-
src/unittest/inference/test_graphcut.cxx | 6 +++---
src/unittest/inference/test_lazyflipper.cxx | 2 +-
src/unittest/inference/test_messagepassing.cxx | 20 ++++++++++----------
src/unittest/inference/test_nesterov.cxx | 7 +++++++
src/unittest/test_linear_constraint.cxx | 1 +
src/unittest/test_lp_solver.cxx | 11 +++++++++--
10 files changed, 42 insertions(+), 27 deletions(-)
diff --git a/src/examples/unsorted-examples/inference_types.cxx b/src/examples/unsorted-examples/inference_types.cxx
index 3ae18e5..dcc4b98 100644
--- a/src/examples/unsorted-examples/inference_types.cxx
+++ b/src/examples/unsorted-examples/inference_types.cxx
@@ -34,19 +34,20 @@ int main() {
// ....
// assume starting point is filled with labels
OptimizerMinimizerParameterType minimizerParameter(
- OptimizerMinimizerType::SINGLE_VARIABLE, // flip a single variable (FACTOR for flip all var. a factor depends on)
- startingPoint
+ OptimizerMinimizerType::SINGLE_VARIABLE // flip a single variable (FACTOR for flip all var. a factor depends on)
);
// without starting point
OptimizerMaximizerParameterType maximizerParameter(
- OptimizerMaximizerType::FACTOR, // flip a single variable (FACTOR for flip all var. a factor depends on)
- startingPoint
+ OptimizerMaximizerType::FACTOR // flip a single variable (FACTOR for flip all var. a factor depends on)
);
// construct optimizers ( minimizer and maximizer )
OptimizerMinimizerType optimizerMinimizer(gm,minimizerParameter);
OptimizerMaximizerType optimizerMaximizer(gm,maximizerParameter);
+ optimizerMinimizer.setStartingPoint(startingPoint.begin());
+ optimizerMaximizer.setStartingPoint(startingPoint.begin());
+
// optimize the models ( minimizer and maximize )
optimizerMinimizer.infer();
optimizerMaximizer.infer();
diff --git a/src/interfaces/commandline/double/opengm_min_sum.cxx b/src/interfaces/commandline/double/opengm_min_sum.cxx
index 832e601..40f47a4 100644
--- a/src/interfaces/commandline/double/opengm_min_sum.cxx
+++ b/src/interfaces/commandline/double/opengm_min_sum.cxx
@@ -35,11 +35,6 @@
#include "../../common/caller/trws_caller.hxx"
#endif
-#if (defined(WITH_MAXFLOW) )
-#include "../../common/caller/lsatr_caller.hxx"
-#endif
-
-
#if (defined(WITH_MAXFLOW) || defined(WITH_BOOST))
#include "../../common/caller/graphcut_caller.hxx"
#include "../../common/caller/alphaexpansion_caller.hxx"
@@ -47,6 +42,10 @@
#include "../../common/caller/qpbo_caller.hxx"
#endif
+#if (defined(WITH_MAXFLOW) )
+#include "../../common/caller/lsatr_caller.hxx"
+#endif
+
#ifdef WITH_QPBO
#include "../../common/caller/mqpbo_caller.hxx"
#ifdef WITH_BOOST
diff --git a/src/tutorials/c++/basics/doMinSumInference.cxx b/src/tutorials/c++/basics/doMinSumInference.cxx
index bc8a11e..1aa00a0 100644
--- a/src/tutorials/c++/basics/doMinSumInference.cxx
+++ b/src/tutorials/c++/basics/doMinSumInference.cxx
@@ -123,7 +123,7 @@ int main(int argc, char** argv) {
// Infer with TRWSI
std::cout << "Start TRWSi inference ... " <<std::endl;
typedef opengm::TRWSi<Model,opengm::Minimizer> TRWSi;
- TRWSi::Parameter para(100);
+ TRWSi::Parameter para(size_t(100));
para.precision_=1e-12;
TRWSi trws(gm,para);
trws.infer();
diff --git a/src/tutorials/c++/basics/doSumProdInference.cxx b/src/tutorials/c++/basics/doSumProdInference.cxx
index 80b4b2f..e4a792b 100644
--- a/src/tutorials/c++/basics/doSumProdInference.cxx
+++ b/src/tutorials/c++/basics/doSumProdInference.cxx
@@ -126,7 +126,7 @@ void inferBP(const Model& gm, bool normalization = true){
typedef opengm::BeliefPropagationUpdateRules<Model, opengm::Integrator> UpdateRules;
typedef opengm::MessagePassing<Model, opengm::Integrator, UpdateRules, opengm::MaxDistance> LBP;
- LBP::Parameter parameter(100, static_cast<Model::ValueType> (0.000000)); //maximal number of iterations=0
+ LBP::Parameter parameter(size_t(100)); //maximal number of iterations=0
parameter.useNormalization_ = normalization;
LBP lbp(gm, parameter);
diff --git a/src/unittest/inference/test_graphcut.cxx b/src/unittest/inference/test_graphcut.cxx
index 0f855c9..2b680e6 100644
--- a/src/unittest/inference/test_graphcut.cxx
+++ b/src/unittest/inference/test_graphcut.cxx
@@ -68,7 +68,7 @@ int main() {
{
typedef opengm::external::MinSTCutIBFS<int, int> MinStCutType;
typedef opengm::GraphCut<GraphicalModelType, opengm::Minimizer, MinStCutType> MinGraphCut;
- MinGraphCut::Parameter para(10000);
+ MinGraphCut::Parameter para(10000.0f);
minTester.test<MinGraphCut>(para);
}
#endif
@@ -103,7 +103,7 @@ int main() {
{
typedef opengm::MinSTCutBoost<size_t, long, opengm::PUSH_RELABEL> MinStCutType;
typedef opengm::GraphCut<GraphicalModelType, opengm::Minimizer, MinStCutType> MinGraphCut;
- MinGraphCut::Parameter para(static_cast<GraphicalModelType::ValueType>(1000000));
+ MinGraphCut::Parameter para(1000000.f);
minTester.test<MinGraphCut>(para);
}
std::cout << " * Test Min-Sum with BOOST-Edmonds-Karp" << std::endl;
@@ -128,7 +128,7 @@ int main() {
{
typedef opengm::external::MinSTCutIBFS<int, int> MinStCutType;
typedef opengm::GraphCut<GraphicalModelType, opengm::Maximizer, MinStCutType> MaxGraphCut;
- MaxGraphCut::Parameter para(10000);
+ MaxGraphCut::Parameter para(10000.0f);
maxTester.test<MaxGraphCut>(para);
}
diff --git a/src/unittest/inference/test_lazyflipper.cxx b/src/unittest/inference/test_lazyflipper.cxx
index 8c44640..cee5372 100644
--- a/src/unittest/inference/test_lazyflipper.cxx
+++ b/src/unittest/inference/test_lazyflipper.cxx
@@ -83,7 +83,7 @@ void additionalTest() {
}
{
- LazyFlipper::Parameter parameter(static_cast<size_t>(6));
+ LazyFlipper::Parameter parameter(size_t(6));
LazyFlipper lazyFlipper(model, parameter);
lazyFlipper.infer();
diff --git a/src/unittest/inference/test_messagepassing.cxx b/src/unittest/inference/test_messagepassing.cxx
index e1c4a1b..9bed1b0 100644
--- a/src/unittest/inference/test_messagepassing.cxx
+++ b/src/unittest/inference/test_messagepassing.cxx
@@ -167,7 +167,7 @@ int main() {
typedef opengm::GraphicalModel<double, opengm::Adder> GraphicalModelType;
typedef opengm::BeliefPropagationUpdateRules<GraphicalModelType,opengm::Minimizer> UpdateRulesType;
typedef opengm::MessagePassing<GraphicalModelType, opengm::Minimizer,UpdateRulesType, opengm::MaxDistance> BP;
- BP::Parameter para(static_cast<size_t>(10));
+ BP::Parameter para(size_t(10));
sumTester.test<BP>(para);
std::cout << " ... parallel ... ";
para.isAcyclic_=opengm::Tribool::False;
@@ -179,7 +179,7 @@ int main() {
typedef opengm::GraphicalModel<double, opengm::Adder> GraphicalModelType;
typedef opengm::BeliefPropagationUpdateRules<GraphicalModelType,opengm::Minimizer> UpdateRulesType;
typedef opengm::MessagePassing<GraphicalModelType, opengm::Minimizer,UpdateRulesType, opengm::MaxDistance> BP;
- BP::Parameter para(static_cast<size_t>(100));
+ BP::Parameter para(size_t(100));
para.isAcyclic_ = false;
sumTester.test<BP>(para);
std::cout << " OK!"<<std::endl;
@@ -198,7 +198,7 @@ int main() {
typedef opengm::GraphicalModel<double,opengm::Adder> GraphicalModelType;
typedef opengm::BeliefPropagationUpdateRules<GraphicalModelType,opengm::Maximizer> UpdateRulesType;
typedef opengm::MessagePassing<GraphicalModelType, opengm::Maximizer,UpdateRulesType, opengm::MaxDistance> BP;
- BP::Parameter para(static_cast<size_t>(10));
+ BP::Parameter para(size_t(10));
sumTester.test<BP>(para);
std::cout << " OK!"<<std::endl;
}
@@ -207,7 +207,7 @@ int main() {
typedef opengm::GraphicalModel<double,opengm::Multiplier > GraphicalModelType;
typedef opengm::BeliefPropagationUpdateRules<GraphicalModelType,opengm::Maximizer> UpdateRulesType;
typedef opengm::MessagePassing<GraphicalModelType, opengm::Maximizer,UpdateRulesType, opengm::MaxDistance> BP;
- BP::Parameter para(static_cast<size_t>(10));
+ BP::Parameter para(size_t(10));
prodTester.test<BP>(para);
std::cout << " OK!"<<std::endl;
}
@@ -290,7 +290,7 @@ int main() {
typedef opengm::GraphicalModel<double,opengm::Adder > GraphicalModelType;
typedef opengm::TrbpUpdateRules<GraphicalModelType,opengm::Minimizer> UpdateRulesType;
typedef opengm::MessagePassing<GraphicalModelType, opengm::Minimizer,UpdateRulesType, opengm::MaxDistance> BP;
- BP::Parameter para(static_cast<size_t>(10));
+ BP::Parameter para(size_t(100));
sumTester.test<BP>(para);
std::cout << " ... parallel ... ";
para.isAcyclic_=opengm::Tribool::False;
@@ -323,7 +323,7 @@ int main() {
typedef opengm::GraphicalModel<double,opengm::Adder> GraphicalModelType;
typedef opengm::TrbpUpdateRules<GraphicalModelType,opengm::Maximizer> UpdateRulesType;
typedef opengm::MessagePassing<GraphicalModelType, opengm::Maximizer, UpdateRulesType,opengm::MaxDistance> BP;
- BP::Parameter para(static_cast<size_t>(10));
+ BP::Parameter para(size_t(10));
sumTester.test<BP>(para);
std::cout << " OK!"<<std::endl;
}
@@ -332,7 +332,7 @@ int main() {
typedef opengm::GraphicalModel<double,opengm::Multiplier > GraphicalModelType;
typedef opengm::TrbpUpdateRules<GraphicalModelType,opengm::Maximizer> UpdateRulesType;
typedef opengm::MessagePassing<GraphicalModelType, opengm::Maximizer, UpdateRulesType,opengm::MaxDistance> BP;
- BP::Parameter para(static_cast<size_t>(10));
+ BP::Parameter para(size_t(10));
prodTester.test<BP>(para);
std::cout << " OK!"<<std::endl;
}
@@ -341,7 +341,7 @@ int main() {
typedef opengm::GraphicalModel<double,opengm::Multiplier > GraphicalModelType;
typedef opengm::TrbpUpdateRules<GraphicalModelType,opengm::Maximizer> UpdateRulesType;
typedef opengm::MessagePassing<GraphicalModelType, opengm::Maximizer, UpdateRulesType, opengm::MaxDistance> BP;
- BP::Parameter para(static_cast<size_t>(10));
+ BP::Parameter para(size_t(10));
prodTester.test<BP>(para);
std::cout << " OK!"<<std::endl;
}
@@ -359,7 +359,7 @@ int main() {
typedef opengm::GraphicalModel<double,opengm::Adder > GraphicalModelType;
typedef opengm::TrbpUpdateRules<GraphicalModelType,opengm::Integrator> UpdateRulesType;
typedef opengm::MessagePassing<GraphicalModelType, opengm::Integrator,UpdateRulesType, opengm::MaxDistance> BP;
- BP::Parameter para(static_cast<size_t>(10));
+ BP::Parameter para(size_t(10));
sumTester.test<BP>(para);
std::cout << " OK!"<<std::endl;
}
@@ -368,7 +368,7 @@ int main() {
typedef opengm::GraphicalModel<double,opengm::Multiplier > GraphicalModelType;
typedef opengm::TrbpUpdateRules<GraphicalModelType,opengm::Integrator> UpdateRulesType;
typedef opengm::MessagePassing<GraphicalModelType, opengm::Integrator,UpdateRulesType, opengm::MaxDistance> BP;
- BP::Parameter para(static_cast<size_t>(10));
+ BP::Parameter para(size_t(10));
prodTester.test<BP>(para);
std::cout << " OK!"<<std::endl;
}
diff --git a/src/unittest/inference/test_nesterov.cxx b/src/unittest/inference/test_nesterov.cxx
index ef7b8c0..eda15e0 100644
--- a/src/unittest/inference/test_nesterov.cxx
+++ b/src/unittest/inference/test_nesterov.cxx
@@ -18,6 +18,7 @@
int main() {
+ try{
typedef opengm::GraphicalModel<double, opengm::Adder> GraphicalModelType;
typedef opengm::GraphicalModel<float, opengm::Adder, opengm::ExplicitFunction<float,unsigned int, unsigned char>, opengm::DiscreteSpace<unsigned int, unsigned char> > GraphicalModelType2;
typedef opengm::BlackBoxTestGrid<GraphicalModelType> GridTest;
@@ -66,6 +67,12 @@ int main() {
}
return 0;
+ }
+ catch(std::exception & e)
+ {
+ std::cerr << "Unexpected exception: " << e.what() << std::endl;
+ return 1;
+ }
}
diff --git a/src/unittest/test_linear_constraint.cxx b/src/unittest/test_linear_constraint.cxx
index aa7a09f..7521458 100644
--- a/src/unittest/test_linear_constraint.cxx
+++ b/src/unittest/test_linear_constraint.cxx
@@ -36,6 +36,7 @@ int main(int argc, char** argv){
std::cout << "done..." << std::endl;
return 0;
+
}
template<class VALUE_TYPE, class INDEX_TYPE, class LABEL_TYPE>
diff --git a/src/unittest/test_lp_solver.cxx b/src/unittest/test_lp_solver.cxx
index 6d85a35..64394e8 100644
--- a/src/unittest/test_lp_solver.cxx
+++ b/src/unittest/test_lp_solver.cxx
@@ -16,6 +16,7 @@ template <class SOLVER_TYPE, class SOLVER_VALUE_TYPE, class PARAMETER1_TYPE, cla
void testLPSolver(const SOLVER_VALUE_TYPE expectedInfinityValue, const PARAMETER1_TYPE timingParameter, const PARAMETER1_VALUE_TYPE maxTime, const PARAMETER2_TYPE threadParameter, const PARAMETER2_VALUE_TYPE maxNumThreads);
int main(int argc, char** argv){
+ try{
std::cout << "LP Solver test... " << std::endl;
#ifdef WITH_CPLEX
@@ -30,6 +31,12 @@ int main(int argc, char** argv){
std::cout << "done..." << std::endl;
return 0;
+ }
+ catch(std::exception & e)
+ {
+ std::cerr << "Unexpected exception: " << e.what() << std::endl;
+ return 1;
+ }
}
template <class SOLVER_TYPE, class SOLVER_VALUE_TYPE, class PARAMETER1_TYPE, class PARAMETER1_VALUE_TYPE, class PARAMETER2_TYPE, class PARAMETER2_VALUE_TYPE>
@@ -88,11 +95,11 @@ void testLPSolver(const SOLVER_VALUE_TYPE expectedInfinityValue, const PARAMETER
typename SOLVER_TYPE::SolverTimingType timing = -1.0;
lpSolverMinimize.addConstraintsFinished();
lpSolverMaximize.addConstraintsFinished(timing);
- OPENGM_TEST(timing > 0);
+ OPENGM_TEST(timing >= 0);
ilpSolverMinimize.addConstraintsFinished();
timing = -1.0;
ilpSolverMaximize.addConstraintsFinished(timing);
- OPENGM_TEST(timing > 0);
+ OPENGM_TEST(timing >= 0);
// set parameter
std::cout << " * set parameter" << std::endl;
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/opengm.git
More information about the debian-science-commits
mailing list