From a3e2dbe3534a479fb35d257901a89bdb73919709 Mon Sep 17 00:00:00 2001 From: Vladislav Golubev Date: Fri, 21 Jan 2022 10:06:17 +0300 Subject: [PATCH] [LPT] MoveFQ fix (#9821) --- .../src/network_helper.cpp | 3 +- .../move_fake_quantize_transformation.cpp | 82 ++++++++++++++++++- 2 files changed, 83 insertions(+), 2 deletions(-) diff --git a/src/common/low_precision_transformations/src/network_helper.cpp b/src/common/low_precision_transformations/src/network_helper.cpp index 32432734c8d..8e23c12cb54 100644 --- a/src/common/low_precision_transformations/src/network_helper.cpp +++ b/src/common/low_precision_transformations/src/network_helper.cpp @@ -1776,7 +1776,8 @@ std::vector>> NetworkHelpe } for (size_t i = 0; i < currConstants.size(); ++i) { std::vector> newConstant; - if (currConstants[i]->output(0).get_shape()[concat_axis] == 1) { + const auto const_shape = currConstants[i]->get_shape(); + if (ov::shape_size(const_shape) == 1 || const_shape[concat_axis] == 1) { newConstant.push_back(currConstants[i]); newConstants[i] = newConstant; continue; diff --git a/src/tests/functional/inference_engine/lp_transformations/move_fake_quantize_transformation.cpp b/src/tests/functional/inference_engine/lp_transformations/move_fake_quantize_transformation.cpp index 7d6adeca421..c963b290482 100644 --- a/src/tests/functional/inference_engine/lp_transformations/move_fake_quantize_transformation.cpp +++ b/src/tests/functional/inference_engine/lp_transformations/move_fake_quantize_transformation.cpp @@ -478,7 +478,87 @@ const std::vector testValues = { {}, {}, } - }, + }, + { + LayerTransformation::createParamsU8I8(), + true, + 1, + { + 2, + {}, + {}, + {}, + "", + { + 256ul, + {{}, {}, {1, 3, 1, 1}, {1, 3, 1, 1}}, + {-2.6f}, {2.6f}, + {-31.7f, -35.7f, -49.1f}, + {277.8f, 267.f, 254.9f} + }, + {}, + {} + }, + { + 2, + { + {256ul, + {{}, {}, {1, 1, 1, 1}, {1, 1, 1, 1}}, + {-2.6}, {2.6f}, {-31.7f}, {277.8f}}, + {256ul, + {{}, {}, {1, 2, 1, 1}, {1, 2, 1, 1}}, + {-2.6f}, {2.6f}, + {-35.7f, -49.1f}, + {267.f, 254.9f}} + }, + {}, + {}, + "", + {}, + {}, + {}, + } + }, + { + LayerTransformation::createParamsU8I8(), + true, + 1, + { + 2, + {}, + {}, + {}, + "", + { + 256ul, + {{1, 3, 1, 1}, {1, 3, 1, 1}, {}, {}}, + {-31.7f, -35.7f, -49.1f}, + {277.8f, 267.f, 254.9f}, + {-2.6f}, {2.6f}, + }, + {}, + {} + }, + { + 2, + { + {256ul, + {{1, 1, 1, 1}, {1, 1, 1, 1}, {}, {}}, + {-31.7f}, {277.8f}, {-2.6}, {2.6f}}, + {256ul, + {{1, 2, 1, 1}, {1, 2, 1, 1}, {}, {}}, + {-35.7f, -49.1f}, + {267.f, 254.9f}, + {-2.6f}, {2.6f}} + }, + {}, + {}, + "", + {}, + {}, + {}, + } + }, }; INSTANTIATE_TEST_SUITE_P( smoke_LPT,