From 41a404f2908be7bcf7c7c7f588d8ef389366a018 Mon Sep 17 00:00:00 2001 From: Sergey Shlyapnikov Date: Fri, 26 Aug 2022 12:29:21 +0400 Subject: [PATCH] [GPU] fix Transpose issue for ConvertColor with FakeQuantize. (#12645) (#12761) Co-authored-by: Tang Wei Co-authored-by: Kurt Chen --- src/plugins/intel_gpu/src/plugin/ops/transpose.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/plugins/intel_gpu/src/plugin/ops/transpose.cpp b/src/plugins/intel_gpu/src/plugin/ops/transpose.cpp index 04226c4dbfd305..7b0e1c6abe9a34 100644 --- a/src/plugins/intel_gpu/src/plugin/ops/transpose.cpp +++ b/src/plugins/intel_gpu/src/plugin/ops/transpose.cpp @@ -46,8 +46,11 @@ static void CreateTransposeOp(Program& p, const std::shared_ptrget_input_node_shared_ptr(0); - if (is_convert_color_type(input) && order == std::vector{0, 3, 1, 2}) { + auto input = op->get_input_size() > 0 ? op->get_input_node_shared_ptr(0) : nullptr; + // Handle the case ConvertColor -> FakeQuantize -> Permute + auto input1 = input ? (input->get_input_size() > 0 ? input->get_input_node_shared_ptr(0) : nullptr) : nullptr; + if (((input && is_convert_color_type(input)) || (input1 && is_convert_color_type(input1))) + && order == std::vector{0, 3, 1, 2}) { auto precision = input->get_element_type(); p.AddPrimitive(cldnn::reorder(layerName, inputPrimitives[0],