From dd55266e9be69ff36aba0bcf2fc6d5c9a0457358 Mon Sep 17 00:00:00 2001 From: mdim Date: Mon, 29 Mar 2010 14:06:08 +0000 Subject: [PATCH] modified mltests log git-svn-id: https://code.ros.org/svn/opencv/trunk@2937 73c94f0f-984f-4a5f-82bc-2d8db8d8ee08 --- opencv/tests/ml/src/amltests.cpp | 40 +++++++++++++++++--------------- 1 file changed, 21 insertions(+), 19 deletions(-) diff --git a/opencv/tests/ml/src/amltests.cpp b/opencv/tests/ml/src/amltests.cpp index 073ad90d..c4bd3f7f 100644 --- a/opencv/tests/ml/src/amltests.cpp +++ b/opencv/tests/ml/src/amltests.cpp @@ -49,7 +49,7 @@ CV_AMLTest::CV_AMLTest( const char* _modelName, const char* _testName ) : int CV_AMLTest::run_test_case( int testCaseIdx ) { - int code = CvTS::OK; + int code = CvTS::OK; code = prepare_test_case( testCaseIdx ); if (code == CvTS::OK) @@ -89,27 +89,29 @@ int CV_AMLTest::run_test_case( int testCaseIdx ) int CV_AMLTest::validate_test_results( int testCaseIdx ) { - int iters; - float mean, sigma; - // read validation params - FileNode resultNode = - validationFS.getFirstTopLevelNode()["validation"][modelName][dataSetNames[testCaseIdx]]["result"]; - resultNode["iter_count"] >> iters; - if ( iters > 0) - { - resultNode["mean"] >> mean; - resultNode["sigma"] >> sigma; - if ( abs(get_error( testCaseIdx, CV_TEST_ERROR ) - mean) > 6*sigma ) - { - ts->printf( CvTS::LOG, "in test case %d test error is out of range", testCaseIdx ); - return CvTS::FAIL_BAD_ACCURACY; - } - } + int iters; + float mean, sigma; + // read validation params + FileNode resultNode = + validationFS.getFirstTopLevelNode()["validation"][modelName][dataSetNames[testCaseIdx]]["result"]; + resultNode["iter_count"] >> iters; + if ( iters > 0) + { + resultNode["mean"] >> mean; + resultNode["sigma"] >> sigma; + float curErr = get_error( testCaseIdx, CV_TEST_ERROR ); + if ( abs( curErr - mean) > 6*sigma ) + { + ts->printf( CvTS::LOG, "in test case %d test error is out of range:\n" + "abs(%f/*curEr*/ - %f/*mean*/ > %f/*6*sigma*/", testCaseIdx, curErr, mean, 6*sigma ); + return CvTS::FAIL_BAD_ACCURACY; + } + } else { - ts->printf( CvTS::LOG, "validation info is not suitable" ); + ts->printf( CvTS::LOG, "validation info is not suitable" ); return CvTS::FAIL_INVALID_TEST_DATA; - } + } return CvTS::OK; } -- 2.39.2