From 9ff1c39daaedb66b886494db4dd14f141d35574f Mon Sep 17 00:00:00 2001 From: Alexander Alekhin Date: Wed, 5 Dec 2018 18:31:14 +0300 Subject: [PATCH] dnn: fixup available backends/targets --- modules/dnn/src/dnn.cpp | 23 +++++++++++++---------- modules/dnn/test/test_backends.cpp | 2 +- modules/dnn/test/test_common.hpp | 6 ++++++ 3 files changed, 20 insertions(+), 11 deletions(-) diff --git a/modules/dnn/src/dnn.cpp b/modules/dnn/src/dnn.cpp index d1fdbccde7..b6eff6c3b5 100644 --- a/modules/dnn/src/dnn.cpp +++ b/modules/dnn/src/dnn.cpp @@ -74,6 +74,16 @@ static int PARAM_DNN_BACKEND_DEFAULT = (int)utils::getConfigurationParameterSize #endif ); +// Additional checks (slowdowns execution!) +static bool DNN_CHECK_NAN_INF = utils::getConfigurationParameterBool("OPENCV_DNN_CHECK_NAN_INF", false); +static bool DNN_CHECK_NAN_INF_DUMP = utils::getConfigurationParameterBool("OPENCV_DNN_CHECK_NAN_INF_DUMP", false); +static bool DNN_CHECK_NAN_INF_RAISE_ERROR = utils::getConfigurationParameterBool("OPENCV_DNN_CHECK_NAN_INF_RAISE_ERROR", false); + +using std::vector; +using std::map; +using std::make_pair; +using std::set; + //================================================================================================== class BackendRegistry @@ -160,6 +170,9 @@ std::vector< std::pair > getAvailableBackends() std::vector getAvailableTargets(Backend be) { + if (be == DNN_BACKEND_DEFAULT) + be = (Backend)PARAM_DNN_BACKEND_DEFAULT; + std::vector result; const BackendRegistry::BackendsList all_backends = getAvailableBackends(); for(BackendRegistry::BackendsList::const_iterator i = all_backends.begin(); i != all_backends.end(); ++i ) @@ -172,16 +185,6 @@ std::vector getAvailableTargets(Backend be) //================================================================================================== -// Additional checks (slowdowns execution!) -static bool DNN_CHECK_NAN_INF = utils::getConfigurationParameterBool("OPENCV_DNN_CHECK_NAN_INF", false); -static bool DNN_CHECK_NAN_INF_DUMP = utils::getConfigurationParameterBool("OPENCV_DNN_CHECK_NAN_INF_DUMP", false); -static bool DNN_CHECK_NAN_INF_RAISE_ERROR = utils::getConfigurationParameterBool("OPENCV_DNN_CHECK_NAN_INF_RAISE_ERROR", false); - -using std::vector; -using std::map; -using std::make_pair; -using std::set; - namespace { typedef std::vector ShapesVec; diff --git a/modules/dnn/test/test_backends.cpp b/modules/dnn/test/test_backends.cpp index ab8f31d463..a1216a5c45 100644 --- a/modules/dnn/test/test_backends.cpp +++ b/modules/dnn/test/test_backends.cpp @@ -292,6 +292,6 @@ TEST_P(DNNTestNetwork, FastNeuralStyle_eccv16) processNet("dnn/fast_neural_style_eccv16_starry_night.t7", "", inp, "", "", l1, lInf); } -INSTANTIATE_TEST_CASE_P(/*nothing*/, DNNTestNetwork, dnnBackendsAndTargets()); +INSTANTIATE_TEST_CASE_P(/*nothing*/, DNNTestNetwork, dnnBackendsAndTargets(true, true, false)); }} // namespace diff --git a/modules/dnn/test/test_common.hpp b/modules/dnn/test/test_common.hpp index 6e1140bb3b..a499a7169c 100644 --- a/modules/dnn/test/test_common.hpp +++ b/modules/dnn/test/test_common.hpp @@ -236,8 +236,14 @@ testing::internal::ParamGenerator< tuple > dnnBackendsAndTarget { available = getAvailableTargets(DNN_BACKEND_OPENCV); for (std::vector< Target >::const_iterator i = available.begin(); i != available.end(); ++i) + { + if (!withCpuOCV && *i == DNN_TARGET_CPU) + continue; targets.push_back(make_tuple(DNN_BACKEND_OPENCV, *i)); + } } + if (targets.empty()) // validate at least CPU mode + targets.push_back(make_tuple(DNN_BACKEND_OPENCV, DNN_TARGET_CPU)); return testing::ValuesIn(targets); } -- GitLab