|
@@ -51,10 +51,10 @@ void TestGradientDescent::testGD_1Dim ()
|
|
|
optimization::matrix_type searchSteps (dim, 1);
|
|
|
searchSteps[0][0] = 1.0f;
|
|
|
|
|
|
- //optimizer.setVerbose(true);
|
|
|
+ optimizer.setVerbose(true);
|
|
|
optimizer.setStepSize( searchSteps );
|
|
|
optimizer.setMaxNumIter(true, 1000);
|
|
|
- optimizer.setFuncTol(true, 1e-8);
|
|
|
+// optimizer.setFuncTol(true, 1e-8);
|
|
|
optimizer.optimizeProb ( optProblem );
|
|
|
|
|
|
optimization::matrix_type optimizedParams (optProblem.getAllCurrentParams());
|
|
@@ -64,7 +64,7 @@ void TestGradientDescent::testGD_1Dim ()
|
|
|
if (verbose)
|
|
|
std::cerr << "1d optimization -- result " << optimizedParams[0][0] << " -- goal: " << goal << std::endl;
|
|
|
|
|
|
- CPPUNIT_ASSERT_DOUBLES_EQUAL( optimizedParams[0][0], goal, 1e-4 /* tolerance */);
|
|
|
+ CPPUNIT_ASSERT_DOUBLES_EQUAL( optimizedParams[0][0], goal, 1e-5 /* tolerance */);
|
|
|
|
|
|
if (verboseStartEnd)
|
|
|
std::cerr << "================== TestGradientDescent::testGD_1Dim done ===================== " << std::endl;
|
|
@@ -99,10 +99,11 @@ void TestGradientDescent::testGD_2Dim()
|
|
|
searchSteps[0][0] = 1.0f;
|
|
|
searchSteps[1][0] = 1.0f;
|
|
|
|
|
|
- //optimizer.setVerbose(true);
|
|
|
+ optimizer.setVerbose(true);
|
|
|
optimizer.setStepSize( searchSteps );
|
|
|
optimizer.setMaxNumIter(true, 1000);
|
|
|
- optimizer.setFuncTol(true, 1e-8);
|
|
|
+ //optimizer.setMinimalGradientMagnitude(1e-25);
|
|
|
+// optimizer.setFuncTol(true, 1e-8);
|
|
|
optimizer.optimizeProb ( optProblem );
|
|
|
|
|
|
optimization::matrix_type optimizedParams (optProblem.getAllCurrentParams());
|
|
@@ -116,8 +117,8 @@ void TestGradientDescent::testGD_2Dim()
|
|
|
std::cerr << "2d optimization 1st dim-- result " << optimizedParams[1][0] << " -- goal: " << goalSecondDim << std::endl;
|
|
|
}
|
|
|
|
|
|
- CPPUNIT_ASSERT_DOUBLES_EQUAL( optimizedParams[0][0], goalFirstDim, 1e-4 /* tolerance */);
|
|
|
- CPPUNIT_ASSERT_DOUBLES_EQUAL( optimizedParams[1][0], goalSecondDim, 1e-4 /* tolerance */);
|
|
|
+ CPPUNIT_ASSERT_DOUBLES_EQUAL( optimizedParams[0][0], goalFirstDim, 1e-5 /* tolerance */);
|
|
|
+ CPPUNIT_ASSERT_DOUBLES_EQUAL( optimizedParams[1][0], goalSecondDim, 1e-5 /* tolerance */);
|
|
|
|
|
|
|
|
|
if (verboseStartEnd)
|