From 0870cc6cc17b47dc259352bb76fd75edbb7edafa Mon Sep 17 00:00:00 2001 From: Steve Yoo Date: Mon, 27 Sep 2021 20:23:27 +0900 Subject: [PATCH] While working on applying multiple target shapes to templateFuncTests, still failed --- .../single_layer_tests/convolution.cpp | 4 +++- .../shared_test_classes/base/layer_test_utils.hpp | 2 ++ .../single_layer/convolution.hpp | 1 + .../src/base/layer_test_utils.cpp | 1 + .../src/single_layer/convolution.cpp | 14 ++++++++++++++ 5 files changed, 21 insertions(+), 1 deletion(-) diff --git a/docs/template_plugin/tests/functional/shared_tests_instances/single_layer_tests/convolution.cpp b/docs/template_plugin/tests/functional/shared_tests_instances/single_layer_tests/convolution.cpp index 5d496fcc9a5..30a999ccbc8 100644 --- a/docs/template_plugin/tests/functional/shared_tests_instances/single_layer_tests/convolution.cpp +++ b/docs/template_plugin/tests/functional/shared_tests_instances/single_layer_tests/convolution.cpp @@ -84,7 +84,9 @@ INSTANTIATE_TEST_SUITE_P(Convolution2D_ExplicitPaddingDynamicShape, ConvolutionL ::testing::Values(std::vector>>({{{1, 3, 30, 30}}}), std::vector>>({{{2, 4, 31, 31}}}), std::vector>>({{{1, 3, 30, 30}}, - {{2, 4, 31, 31}}})), + {{2, 4, 31, 31}}}), + std::vector>>({{{2, 4, 31, 31}}, + {{1, 3, 30, 30}}})), ::testing::Values(CommonTestUtils::DEVICE_TEMPLATE)), ConvolutionLayerTest::getTestCaseName); // ! [test_convolution:instantiate] diff --git a/inference-engine/tests/functional/shared_test_classes/include/shared_test_classes/base/layer_test_utils.hpp b/inference-engine/tests/functional/shared_test_classes/include/shared_test_classes/base/layer_test_utils.hpp index 0d045aa2584..41d19ab16c9 100644 --- a/inference-engine/tests/functional/shared_test_classes/include/shared_test_classes/base/layer_test_utils.hpp +++ b/inference-engine/tests/functional/shared_test_classes/include/shared_test_classes/base/layer_test_utils.hpp @@ -153,6 +153,8 @@ protected: virtual void setTargetStaticShape(std::vector& desiredTargetStaticShape) {} + virtual bool updateFunctionRefs() {return false;} + virtual void Validate(); virtual std::vector>> CalculateRefs(); diff --git a/inference-engine/tests/functional/shared_test_classes/include/shared_test_classes/single_layer/convolution.hpp b/inference-engine/tests/functional/shared_test_classes/include/shared_test_classes/single_layer/convolution.hpp index 16d4c1ebf14..c6dfbba1133 100644 --- a/inference-engine/tests/functional/shared_test_classes/include/shared_test_classes/single_layer/convolution.hpp +++ b/inference-engine/tests/functional/shared_test_classes/include/shared_test_classes/single_layer/convolution.hpp @@ -46,6 +46,7 @@ protected: void SetUp() override; std::shared_ptr makeConvolution(const std::string& name = ""); void setTargetStaticShape(std::vector& desiredTargetStaticShape) override; + bool updateFunctionRefs() override; private: InferenceEngine::Precision::ePrecision netPrecision = InferenceEngine::Precision::UNSPECIFIED; diff --git a/inference-engine/tests/functional/shared_test_classes/src/base/layer_test_utils.cpp b/inference-engine/tests/functional/shared_test_classes/src/base/layer_test_utils.cpp index bc74e461277..763a3dda7e5 100644 --- a/inference-engine/tests/functional/shared_test_classes/src/base/layer_test_utils.cpp +++ b/inference-engine/tests/functional/shared_test_classes/src/base/layer_test_utils.cpp @@ -49,6 +49,7 @@ void LayerTestsCommon::Run() { LoadNetwork(); for (auto&& tss : targetStaticShapes) { setTargetStaticShape(tss); + updateFunctionRefs(); GenerateInputs(); Infer(); Validate(); diff --git a/inference-engine/tests/functional/shared_test_classes/src/single_layer/convolution.cpp b/inference-engine/tests/functional/shared_test_classes/src/single_layer/convolution.cpp index dae6003935f..2240e6ea4f4 100644 --- a/inference-engine/tests/functional/shared_test_classes/src/single_layer/convolution.cpp +++ b/inference-engine/tests/functional/shared_test_classes/src/single_layer/convolution.cpp @@ -88,4 +88,18 @@ void ConvolutionLayerTest::setTargetStaticShape(std::vector& desi targetStaticShape = desiredTargetStaticShape; } +bool ConvolutionLayerTest::updateFunctionRefs() { + auto params = functionRefs->get_parameters()[0]; + if (!params) { + return false; + } + auto ngPrc = FuncTestUtils::PrecisionUtils::convertIE2nGraphPrc(netPrecision); + auto params_new = std::make_shared(ngPrc, targetStaticShape.front()); + params_new->set_friendly_name(params->get_friendly_name()); + ngraph::copy_runtime_info(params, params_new); + ngraph::replace_node(params, params_new); + functionRefs->validate_nodes_and_infer_types(); + return true; +} + } // namespace LayerTestsDefinitions