diff --git a/inference-engine/src/vpu/graph_transformer/src/stages/interpolate.cpp b/inference-engine/src/vpu/graph_transformer/src/stages/interpolate.cpp index 8cd4ac240da8b9..2e3cd77d3a9455 100644 --- a/inference-engine/src/vpu/graph_transformer/src/stages/interpolate.cpp +++ b/inference-engine/src/vpu/graph_transformer/src/stages/interpolate.cpp @@ -61,8 +61,10 @@ void FrontEnd::parseInterpolate(const Model& model, const ie::CNNLayerPtr& _laye interpolateModeIt->second == InterpolateMode::LinearOnnx; VPU_THROW_UNLESS(modeIsSupported, "Current Interpolate supports 'nearest' and 'linear' modes only, actual {}", interpolateMode); - const auto paramIsSupported = ic == oc && isPadZeros(padsBegin) && isPadZeros(padsEnd); - VPU_THROW_UNLESS(paramIsSupported, "Current Interpolate does not support paddings, and resize by channels"); + auto paramIsSupported = ic == oc; + VPU_THROW_UNLESS(paramIsSupported, "Current Interpolate does not support resize by channels"); + paramIsSupported = isPadZeros(padsBegin) && isPadZeros(padsEnd); + VPU_THROW_UNLESS(paramIsSupported, "Current Interpolate does not support paddings"); if (interpolateModeIt->second == InterpolateMode::Nearest) { // current "Resample" supports the following "Interpolate" modes only: diff --git a/inference-engine/tests/functional/plugin/myriad/shared_tests_instances/single_layer_tests/interpolate.cpp b/inference-engine/tests/functional/plugin/myriad/shared_tests_instances/single_layer_tests/interpolate.cpp index b7234a93c4c76a..3a6d57fd858163 100644 --- a/inference-engine/tests/functional/plugin/myriad/shared_tests_instances/single_layer_tests/interpolate.cpp +++ b/inference-engine/tests/functional/plugin/myriad/shared_tests_instances/single_layer_tests/interpolate.cpp @@ -52,6 +52,15 @@ const std::vector> targetShapes2x = { {5, 19, 37 * 2, 37 * 2}, }; +const std::vector> inShapesNoBatch = { + {1, 8, 38, 38}, + {1, 8, 36, 36}, +}; + +const std::vector> targetShapesNoBatch = { + {1, 8, 38 * 2, 38 * 2}, + {1, 8, 70, 70}, // * 1.94 +}; const std::vector modesWithoutNearest = { ngraph::op::v4::Interpolate::InterpolateMode::linear, @@ -185,6 +194,32 @@ INSTANTIATE_TEST_CASE_P(smoke_Interpolate_nearest_mode_2x, InterpolateLayerTest, ::testing::Values(Config{{InferenceEngine::MYRIAD_DETECT_NETWORK_BATCH, CONFIG_VALUE(NO)}})), InterpolateLayerTest::getTestCaseName); +INSTANTIATE_TEST_CASE_P(smoke_Interpolate_nearest_mode_no_batch, InterpolateLayerTest, ::testing::Combine( + interpolateCasesNearestMode, + ::testing::ValuesIn(netPrecisions), + ::testing::Values(InferenceEngine::Precision::UNSPECIFIED), + ::testing::Values(InferenceEngine::Precision::UNSPECIFIED), + ::testing::Values(InferenceEngine::Layout::ANY), + ::testing::Values(InferenceEngine::Layout::ANY), + ::testing::ValuesIn(inShapesNoBatch), + ::testing::ValuesIn(targetShapesNoBatch), + ::testing::Values(CommonTestUtils::DEVICE_MYRIAD), + ::testing::Values(Config{{InferenceEngine::MYRIAD_DETECT_NETWORK_BATCH, CONFIG_VALUE(NO)}})), + InterpolateLayerTest::getTestCaseName); + +INSTANTIATE_TEST_CASE_P(smoke_Interpolate_without_nearest_mode_no_batch, InterpolateLayerTest, ::testing::Combine( + interpolateCasesWithoutNearestMode, + ::testing::ValuesIn(netPrecisions), + ::testing::Values(InferenceEngine::Precision::UNSPECIFIED), + ::testing::Values(InferenceEngine::Precision::UNSPECIFIED), + ::testing::Values(InferenceEngine::Layout::ANY), + ::testing::Values(InferenceEngine::Layout::ANY), + ::testing::ValuesIn(inShapesNoBatch), + ::testing::ValuesIn(targetShapesNoBatch), + ::testing::Values(CommonTestUtils::DEVICE_MYRIAD), + ::testing::Values(Config{{InferenceEngine::MYRIAD_DETECT_NETWORK_BATCH, CONFIG_VALUE(NO)}})), + InterpolateLayerTest::getTestCaseName); + INSTANTIATE_TEST_CASE_P(smoke_Interpolate_nearest_mode, InterpolateLayerTest, ::testing::Combine( interpolateCasesNearestMode, ::testing::ValuesIn(netPrecisions),