[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