diff --git a/docs/template_plugin/tests/functional/shared_tests_instances/single_layer_tests/eltwise.cpp b/docs/template_plugin/tests/functional/shared_tests_instances/single_layer_tests/eltwise.cpp index 5c7912b8a13..3efdd3b9957 100644 --- a/docs/template_plugin/tests/functional/shared_tests_instances/single_layer_tests/eltwise.cpp +++ b/docs/template_plugin/tests/functional/shared_tests_instances/single_layer_tests/eltwise.cpp @@ -79,6 +79,8 @@ const auto multiply_params = ::testing::Combine( ::testing::ValuesIn(secondaryInputTypes), ::testing::ValuesIn(opTypes), ::testing::ValuesIn(netPrecisions), + ::testing::Values(ov::element::undefined), + ::testing::Values(ov::element::undefined), ::testing::Values(CommonTestUtils::DEVICE_TEMPLATE), ::testing::Values(additional_config)); @@ -88,6 +90,8 @@ const auto multiply_params_dynamic = ::testing::Combine( ::testing::ValuesIn(secondaryInputTypesDynamic), ::testing::ValuesIn(opTypesDynamic), ::testing::ValuesIn(netPrecisions), + ::testing::Values(ov::element::undefined), + ::testing::Values(ov::element::undefined), ::testing::Values(CommonTestUtils::DEVICE_TEMPLATE), ::testing::Values(additional_config)); @@ -116,6 +120,8 @@ const auto single_thread_params = ::testing::Combine( ::testing::ValuesIn(secondaryInputTypes), ::testing::ValuesIn(opTypes), ::testing::ValuesIn(netPrecisions), + ::testing::Values(ov::element::undefined), + ::testing::Values(ov::element::undefined), ::testing::Values(CommonTestUtils::DEVICE_TEMPLATE), ::testing::Values(additional_config_single_thread)); diff --git a/docs/template_plugin/tests/functional/shared_tests_instances/single_layer_tests/softmax.cpp b/docs/template_plugin/tests/functional/shared_tests_instances/single_layer_tests/softmax.cpp index 0dc6f80b1a7..b312bfda3ab 100644 --- a/docs/template_plugin/tests/functional/shared_tests_instances/single_layer_tests/softmax.cpp +++ b/docs/template_plugin/tests/functional/shared_tests_instances/single_layer_tests/softmax.cpp @@ -35,6 +35,8 @@ const std::vector axis2D = { const auto params2D_static = testing::Combine( testing::ValuesIn(netPrecisions), + ::testing::Values(ov::element::undefined), + ::testing::Values(ov::element::undefined), testing::ValuesIn(ov::test::static_shapes_to_test_representation(inputStaticShape2D)), testing::ValuesIn(axis2D), testing::Values(CommonTestUtils::DEVICE_TEMPLATE), @@ -43,6 +45,8 @@ const auto params2D_static = testing::Combine( const auto params2D_dynamic = testing::Combine( testing::ValuesIn(netPrecisions), + ::testing::Values(ov::element::undefined), + ::testing::Values(ov::element::undefined), testing::ValuesIn(inputDynamicShape2D), testing::ValuesIn(axis2D), testing::Values(CommonTestUtils::DEVICE_TEMPLATE), @@ -79,6 +83,8 @@ const std::vector axis4D = {0, 1, 2, 3}; const auto params4Dstatic = testing::Combine( testing::ValuesIn(netPrecisions), + ::testing::Values(ov::element::undefined), + ::testing::Values(ov::element::undefined), testing::ValuesIn(ov::test::static_shapes_to_test_representation(inputStaticShape4D)), testing::ValuesIn(axis4D), testing::Values(CommonTestUtils::DEVICE_TEMPLATE), @@ -87,6 +93,8 @@ const auto params4Dstatic = testing::Combine( const auto params4Ddynamic = testing::Combine( testing::ValuesIn(netPrecisions), + ::testing::Values(ov::element::undefined), + ::testing::Values(ov::element::undefined), testing::ValuesIn(inputDynamicShape4D), testing::ValuesIn(axis4D), testing::Values(CommonTestUtils::DEVICE_TEMPLATE), diff --git a/inference-engine/tests/functional/inference_engine/serialization/single_layer/elementwise.cpp b/inference-engine/tests/functional/inference_engine/serialization/single_layer/elementwise.cpp index 62ce02fc46f..885407709d2 100644 --- a/inference-engine/tests/functional/inference_engine/serialization/single_layer/elementwise.cpp +++ b/inference-engine/tests/functional/inference_engine/serialization/single_layer/elementwise.cpp @@ -59,6 +59,8 @@ const auto elementiwiseParams = ::testing::Combine( ::testing::ValuesIn(secondaryInputTypes), ::testing::ValuesIn(opTypes), ::testing::ValuesIn(inputPrecisions), + ::testing::Values(ov::element::undefined), + ::testing::Values(ov::element::undefined), ::testing::Values(CommonTestUtils::DEVICE_CPU), ::testing::Values(additionalConfig)); @@ -68,6 +70,8 @@ const auto elementiwiseParamsDyn = ::testing::Combine( ::testing::ValuesIn(secondaryInputTypes), ::testing::ValuesIn(opTypes), ::testing::ValuesIn(inputPrecisions), + ::testing::Values(ov::element::undefined), + ::testing::Values(ov::element::undefined), ::testing::Values(CommonTestUtils::DEVICE_CPU), ::testing::Values(additionalConfig)); diff --git a/inference-engine/tests/functional/plugin/cpu/shared_tests_instances/single_layer_tests/eltwise.cpp b/inference-engine/tests/functional/plugin/cpu/shared_tests_instances/single_layer_tests/eltwise.cpp index b4e8c2a75fc..786f1b6b382 100644 --- a/inference-engine/tests/functional/plugin/cpu/shared_tests_instances/single_layer_tests/eltwise.cpp +++ b/inference-engine/tests/functional/plugin/cpu/shared_tests_instances/single_layer_tests/eltwise.cpp @@ -79,6 +79,8 @@ const auto multiply_params = ::testing::Combine( ::testing::ValuesIn(secondaryInputTypes), ::testing::ValuesIn(opTypes), ::testing::ValuesIn(netPrecisions), + ::testing::Values(ov::element::undefined), + ::testing::Values(ov::element::undefined), ::testing::Values(CommonTestUtils::DEVICE_CPU), ::testing::Values(additional_config)); @@ -88,6 +90,8 @@ const auto multiply_params_dynamic = ::testing::Combine( ::testing::ValuesIn(secondaryInputTypesDynamic), ::testing::ValuesIn(opTypesDynamic), ::testing::ValuesIn(netPrecisions), + ::testing::Values(ov::element::undefined), + ::testing::Values(ov::element::undefined), ::testing::Values(CommonTestUtils::DEVICE_CPU), ::testing::Values(additional_config)); @@ -116,6 +120,8 @@ const auto single_thread_params = ::testing::Combine( ::testing::ValuesIn(secondaryInputTypes), ::testing::ValuesIn(opTypes), ::testing::ValuesIn(netPrecisions), + ::testing::Values(ov::element::undefined), + ::testing::Values(ov::element::undefined), ::testing::Values(CommonTestUtils::DEVICE_CPU), ::testing::Values(additional_config_single_thread)); diff --git a/inference-engine/tests/functional/plugin/cpu/shared_tests_instances/single_layer_tests/softmax.cpp b/inference-engine/tests/functional/plugin/cpu/shared_tests_instances/single_layer_tests/softmax.cpp index e5e27986222..e80671f80a8 100644 --- a/inference-engine/tests/functional/plugin/cpu/shared_tests_instances/single_layer_tests/softmax.cpp +++ b/inference-engine/tests/functional/plugin/cpu/shared_tests_instances/single_layer_tests/softmax.cpp @@ -34,6 +34,8 @@ const std::vector axis2D = { const auto params2D_static = testing::Combine( testing::ValuesIn(netPrecisions), + ::testing::Values(ov::element::undefined), + ::testing::Values(ov::element::undefined), testing::ValuesIn(ov::test::static_shapes_to_test_representation({inputStaticShape2D})), testing::ValuesIn(axis2D), testing::Values(CommonTestUtils::DEVICE_CPU), @@ -42,6 +44,8 @@ const auto params2D_static = testing::Combine( const auto params2D_dynamic = testing::Combine( testing::ValuesIn(netPrecisions), + ::testing::Values(ov::element::undefined), + ::testing::Values(ov::element::undefined), testing::ValuesIn(inputDynamicShape2D), testing::ValuesIn(axis2D), testing::Values(CommonTestUtils::DEVICE_CPU), @@ -78,6 +82,8 @@ const std::vector axis4D = {0, 1, 2, 3}; const auto params4Dstatic = testing::Combine( testing::ValuesIn(netPrecisions), + ::testing::Values(ov::element::undefined), + ::testing::Values(ov::element::undefined), testing::ValuesIn(ov::test::static_shapes_to_test_representation({inputStaticShape4D})), testing::ValuesIn(axis4D), testing::Values(CommonTestUtils::DEVICE_CPU), @@ -86,6 +92,8 @@ const auto params4Dstatic = testing::Combine( const auto params4Ddynamic = testing::Combine( testing::ValuesIn(netPrecisions), + ::testing::Values(ov::element::undefined), + ::testing::Values(ov::element::undefined), testing::ValuesIn(inputDynamicShape4D), testing::ValuesIn(axis4D), testing::Values(CommonTestUtils::DEVICE_CPU), diff --git a/inference-engine/tests/functional/plugin/gna/shared_tests_instances/single_layer_tests/eltwise.cpp b/inference-engine/tests/functional/plugin/gna/shared_tests_instances/single_layer_tests/eltwise.cpp index 6e728794aba..e065d8597f6 100644 --- a/inference-engine/tests/functional/plugin/gna/shared_tests_instances/single_layer_tests/eltwise.cpp +++ b/inference-engine/tests/functional/plugin/gna/shared_tests_instances/single_layer_tests/eltwise.cpp @@ -53,6 +53,8 @@ const auto multiply_params = ::testing::Combine( ::testing::ValuesIn(secondaryInputTypes), ::testing::ValuesIn(opTypes), ::testing::ValuesIn(netPrecisions), + ::testing::Values(ov::element::undefined), + ::testing::Values(ov::element::undefined), ::testing::Values(CommonTestUtils::DEVICE_GNA), ::testing::Values(additional_config)); diff --git a/inference-engine/tests/functional/plugin/gpu/shared_tests_instances/single_layer_tests/eltwise.cpp b/inference-engine/tests/functional/plugin/gpu/shared_tests_instances/single_layer_tests/eltwise.cpp index 7c55f2c9c3f..df698303262 100644 --- a/inference-engine/tests/functional/plugin/gpu/shared_tests_instances/single_layer_tests/eltwise.cpp +++ b/inference-engine/tests/functional/plugin/gpu/shared_tests_instances/single_layer_tests/eltwise.cpp @@ -60,6 +60,8 @@ const auto multiply_params = ::testing::Combine( ::testing::ValuesIn(secondaryInputTypes), ::testing::ValuesIn(opTypes), ::testing::ValuesIn(netPrecisions), + ::testing::Values(ov::element::undefined), + ::testing::Values(ov::element::undefined), ::testing::Values(CommonTestUtils::DEVICE_GPU), ::testing::Values(additional_config)); diff --git a/inference-engine/tests/functional/plugin/gpu/shared_tests_instances/single_layer_tests/softmax.cpp b/inference-engine/tests/functional/plugin/gpu/shared_tests_instances/single_layer_tests/softmax.cpp index 1997ec55abd..f396b38c7c0 100644 --- a/inference-engine/tests/functional/plugin/gpu/shared_tests_instances/single_layer_tests/softmax.cpp +++ b/inference-engine/tests/functional/plugin/gpu/shared_tests_instances/single_layer_tests/softmax.cpp @@ -27,6 +27,8 @@ const std::vector axis2D = { const auto params2D = testing::Combine( testing::ValuesIn(netPrecisions), + ::testing::Values(ov::element::undefined), + ::testing::Values(ov::element::undefined), testing::ValuesIn(ov::test::static_shapes_to_test_representation(inputShapes2D)), testing::ValuesIn(axis2D), testing::Values(CommonTestUtils::DEVICE_GPU), @@ -50,6 +52,8 @@ const std::vector axis4D = {0, 1, 2, 3}; const auto params4D = testing::Combine( testing::ValuesIn(netPrecisions), + ::testing::Values(ov::element::undefined), + ::testing::Values(ov::element::undefined), testing::ValuesIn(ov::test::static_shapes_to_test_representation(inputShapes4D)), testing::ValuesIn(axis4D), testing::Values(CommonTestUtils::DEVICE_GPU), diff --git a/inference-engine/tests/functional/plugin/myriad/shared_tests_instances/single_layer_tests/eltwise.cpp b/inference-engine/tests/functional/plugin/myriad/shared_tests_instances/single_layer_tests/eltwise.cpp index 779ba8cf901..05b4c4cb88d 100644 --- a/inference-engine/tests/functional/plugin/myriad/shared_tests_instances/single_layer_tests/eltwise.cpp +++ b/inference-engine/tests/functional/plugin/myriad/shared_tests_instances/single_layer_tests/eltwise.cpp @@ -63,6 +63,8 @@ INSTANTIATE_TEST_SUITE_P(smoke_EltwiseMathFP, ::testing::Values(ngraph::helpers::InputLayerType::PARAMETER), ::testing::ValuesIn(opTypes), ::testing::ValuesIn(fpTypes), + ::testing::Values(ov::element::undefined), + ::testing::Values(ov::element::undefined), ::testing::Values(CommonTestUtils::DEVICE_MYRIAD), ::testing::Values(Config{{InferenceEngine::MYRIAD_DETECT_NETWORK_BATCH, CONFIG_VALUE(NO)}})), EltwiseLayerTest::getTestCaseName); @@ -75,6 +77,8 @@ INSTANTIATE_TEST_SUITE_P(smoke_EltwiseMathInt, ::testing::Values(ngraph::helpers::InputLayerType::PARAMETER), ::testing::ValuesIn(opTypes), ::testing::ValuesIn(intTypes), + ::testing::Values(ov::element::undefined), + ::testing::Values(ov::element::undefined), ::testing::Values(CommonTestUtils::DEVICE_MYRIAD), ::testing::Values(Config{{InferenceEngine::MYRIAD_DETECT_NETWORK_BATCH, CONFIG_VALUE(NO)}})), EltwiseLayerTest::getTestCaseName); diff --git a/inference-engine/tests/functional/shared_test_classes/include/shared_test_classes/base/ov_subgraph.hpp b/inference-engine/tests/functional/shared_test_classes/include/shared_test_classes/base/ov_subgraph.hpp index e17b2b623aa..2c0c28864b5 100644 --- a/inference-engine/tests/functional/shared_test_classes/include/shared_test_classes/base/ov_subgraph.hpp +++ b/inference-engine/tests/functional/shared_test_classes/include/shared_test_classes/base/ov_subgraph.hpp @@ -50,6 +50,7 @@ protected: std::map inputs; std::vector inputDynamicShapes; std::vector> targetStaticShapes; + ElementType inType = ov::element::undefined, outType = ov::element::undefined; ov::runtime::ExecutableNetwork executableNetwork; ov::runtime::InferRequest inferRequest; diff --git a/inference-engine/tests/functional/shared_test_classes/include/shared_test_classes/single_layer/eltwise.hpp b/inference-engine/tests/functional/shared_test_classes/include/shared_test_classes/single_layer/eltwise.hpp index dd997f3c6ec..4e31886c40e 100644 --- a/inference-engine/tests/functional/shared_test_classes/include/shared_test_classes/single_layer/eltwise.hpp +++ b/inference-engine/tests/functional/shared_test_classes/include/shared_test_classes/single_layer/eltwise.hpp @@ -17,6 +17,8 @@ typedef std::tuple< ngraph::helpers::InputLayerType, // secondary input type CommonTestUtils::OpType, // op type ElementType, // Net precision + ElementType, // In precision + ElementType, // Out precision TargetDevice, // Device name Config // Additional network configuration > EltwiseTestParams; diff --git a/inference-engine/tests/functional/shared_test_classes/include/shared_test_classes/single_layer/softmax.hpp b/inference-engine/tests/functional/shared_test_classes/include/shared_test_classes/single_layer/softmax.hpp index 08c4a7e3d71..d49c9e4fd8f 100644 --- a/inference-engine/tests/functional/shared_test_classes/include/shared_test_classes/single_layer/softmax.hpp +++ b/inference-engine/tests/functional/shared_test_classes/include/shared_test_classes/single_layer/softmax.hpp @@ -12,6 +12,8 @@ namespace subgraph { using SoftMaxTestParams = std::tuple< ElementType, // netPrecision + ElementType, // inPrecision + ElementType, // outPrecision InputShape, // Dynamic shape + Target static shapes size_t, // axis TargetDevice, // targetDevice diff --git a/inference-engine/tests/functional/shared_test_classes/src/base/ov_subgraph.cpp b/inference-engine/tests/functional/shared_test_classes/src/base/ov_subgraph.cpp index 0629ebe95ea..9b8e393feff 100644 --- a/inference-engine/tests/functional/shared_test_classes/src/base/ov_subgraph.cpp +++ b/inference-engine/tests/functional/shared_test_classes/src/base/ov_subgraph.cpp @@ -46,7 +46,7 @@ void SubgraphBaseTest::run() { try { compile_model(); for (const auto& targetStaticShapeVec : targetStaticShapes) { -// try { + try { if (!inputDynamicShapes.empty()) { // resize ngraph function according new target shape ngraph::helpers::resize_function(functionRefs, targetStaticShapeVec); @@ -54,9 +54,9 @@ void SubgraphBaseTest::run() { generate_inputs(targetStaticShapeVec); infer(); validate(); -// } catch (const std::exception &ex) { -// throw std::runtime_error("Incorrect target static shape: " + CommonTestUtils::vec2str(targetStaticShapeVec) + " " + ex.what()); -// } + } catch (const std::exception &ex) { + throw std::runtime_error("Incorrect target static shape: " + CommonTestUtils::vec2str(targetStaticShapeVec) + " " + ex.what()); + } } status = LayerTestsUtils::PassRate::Statuses::PASSED; } catch (const std::exception &ex) { @@ -123,7 +123,27 @@ void SubgraphBaseTest::compare(const std::vector &expected, } } -void SubgraphBaseTest::configure_model() {} +void SubgraphBaseTest::configure_model() { + // configure input precision + { + auto params = function->get_parameters(); + for (auto& param : params) { + if (inType != ov::element::Type_t::undefined) { + param->get_output_tensor(0).set_element_type(inType); + } + } + } + + // configure output precision + { + auto results = function->get_results(); + for (auto& result : results) { + if (outType != ov::element::Type_t::undefined) { + result->get_output_tensor(0).set_element_type(outType); + } + } + } +} void SubgraphBaseTest::compile_model() { configure_model(); diff --git a/inference-engine/tests/functional/shared_test_classes/src/single_layer/eltwise.cpp b/inference-engine/tests/functional/shared_test_classes/src/single_layer/eltwise.cpp index 4b55e002674..3208cbaf699 100644 --- a/inference-engine/tests/functional/shared_test_classes/src/single_layer/eltwise.cpp +++ b/inference-engine/tests/functional/shared_test_classes/src/single_layer/eltwise.cpp @@ -12,13 +12,13 @@ namespace subgraph { std::string EltwiseLayerTest::getTestCaseName(const testing::TestParamInfo& obj) { std::vector shapes; - ElementType netType; + ElementType netType, inType, outType; ngraph::helpers::InputLayerType secondaryInputType; CommonTestUtils::OpType opType; ngraph::helpers::EltwiseTypes eltwiseOpType; std::string targetName; std::map additional_config; - std::tie(shapes, eltwiseOpType, secondaryInputType, opType, netType, targetName, additional_config) = obj.param; + std::tie(shapes, eltwiseOpType, secondaryInputType, opType, netType, inType, outType, targetName, additional_config) = obj.param; std::ostringstream results; results << "IS=("; @@ -35,6 +35,8 @@ std::string EltwiseLayerTest::getTestCaseName(const testing::TestParamInfo