From 04c0dbbf60925e5a60589bae1dd1627633c33228 Mon Sep 17 00:00:00 2001 From: Vladimir Paramuzov Date: Wed, 21 Dec 2022 09:39:20 +0400 Subject: [PATCH] [GPU] Fix shape infer for 0d broadcast (#14744) --- .../include/intel_gpu/primitives/broadcast.hpp | 2 +- .../single_layer_tests/broadcast.cpp | 16 ++++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/src/plugins/intel_gpu/include/intel_gpu/primitives/broadcast.hpp b/src/plugins/intel_gpu/include/intel_gpu/primitives/broadcast.hpp index 70547f70705..be6a4d8d6b7 100644 --- a/src/plugins/intel_gpu/include/intel_gpu/primitives/broadcast.hpp +++ b/src/plugins/intel_gpu/include/intel_gpu/primitives/broadcast.hpp @@ -107,7 +107,7 @@ struct broadcast : public primitive_base { target_shape(target_shape), axes_mapping(axes_mapping), broadcast_mode(broadcast_spec), - broadcast_sizes({}), + broadcast_sizes(target_shape.empty() ? tensor(1) : tensor(0)), broadcast_axes({}) {} /// @brief Constructs broadcast primitive / layer with dynamic target_shape. diff --git a/src/tests/functional/plugin/gpu/shared_tests_instances/single_layer_tests/broadcast.cpp b/src/tests/functional/plugin/gpu/shared_tests_instances/single_layer_tests/broadcast.cpp index 0ea04c906b6..e8430153322 100644 --- a/src/tests/functional/plugin/gpu/shared_tests_instances/single_layer_tests/broadcast.cpp +++ b/src/tests/functional/plugin/gpu/shared_tests_instances/single_layer_tests/broadcast.cpp @@ -25,6 +25,22 @@ const std::vector inputTPrecisions = { InferenceEngine::Precision::BOOL }; +// NUMPY MODE ////////////////////////////////////////// +// 0D +std::vector> targetShapesNumpy0D = { + {}, +}; + +INSTANTIATE_TEST_CASE_P(smoke_TestNumpyBroadcast0D, + BroadcastLayerTest, + ::testing::Combine(::testing::ValuesIn(targetShapesNumpy0D), + ::testing::Values(ngraph::AxisSet{}), // not used in numpy mode + ::testing::Values(ngraph::op::BroadcastType::NUMPY), + ::testing::Values(std::vector{}), + ::testing::ValuesIn(inputPrecisions), + ::testing::Values(CommonTestUtils::DEVICE_GPU)), + BroadcastLayerTest::getTestCaseName); + // NUMPY MODE ////////////////////////////////////////// // 1D std::vector> targetShapesNumpy1D = {