[GPU] Add autopad option in CreateOp of groupconvolution (#18897)

* add autopad option in CreateOp of groupnormalization

* add autopad option in CreateOp of GroupConvolution
This commit is contained in:
Wilson Seok 2023-08-02 12:41:05 +09:00 committed by GitHub
parent b0b6a38ecc
commit 86b8e0a930
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 39 additions and 1 deletions

View File

@ -37,6 +37,7 @@ static void CreateGroupConvolutionOp(Program& p, const std::shared_ptr<ngraph::o
auto dilations = op->get_dilations(); auto dilations = op->get_dilations();
auto pads_begin = op->get_pads_begin(); auto pads_begin = op->get_pads_begin();
auto pads_end = op->get_pads_end(); auto pads_end = op->get_pads_end();
auto auto_pad = op->get_auto_pad();
if (!op->is_dynamic()) { if (!op->is_dynamic()) {
// Extend 1d vectors to 2d as 1d can't be handled properly by the graph optimizer for now // Extend 1d vectors to 2d as 1d can't be handled properly by the graph optimizer for now
@ -55,7 +56,8 @@ static void CreateGroupConvolutionOp(Program& p, const std::shared_ptr<ngraph::o
dilations, dilations,
pads_begin, pads_begin,
pads_end, pads_end,
weights_have_group_dim); weights_have_group_dim,
auto_pad);
p.add_primitive(*op, convPrim); p.add_primitive(*op, convPrim);
} }

View File

@ -192,6 +192,42 @@ INSTANTIATE_TEST_SUITE_P(smoke_GroupConvolutionLayerGPUTest_dynamic2D_AsymPad, G
::testing::ValuesIn(dynInputShapes2D), ::testing::ValuesIn(dynInputShapes2D),
::testing::Values<std::string>(ov::test::utils::DEVICE_GPU)), ::testing::Values<std::string>(ov::test::utils::DEVICE_GPU)),
GroupConvolutionLayerGPUTestDynamic::getTestCaseName); GroupConvolutionLayerGPUTestDynamic::getTestCaseName);
INSTANTIATE_TEST_SUITE_P(smoke_GroupConvolutionLayerGPUTest_dynamic2D_SymAutoPad, GroupConvolutionLayerGPUTestDynamic,
::testing::Combine(
::testing::Combine(
::testing::Values(SizeVector{3, 3}),
::testing::Values(SizeVector{1, 1}),
::testing::Values(std::vector<ptrdiff_t>{1, 2}),
::testing::Values(std::vector<ptrdiff_t>{1, 2}),
::testing::Values(SizeVector{1, 1}),
::testing::Values(4),
::testing::Values(4),
::testing::ValuesIn({ngraph::op::PadType::SAME_LOWER, ngraph::op::PadType::SAME_UPPER})),
::testing::Values(ElementType::f16),
::testing::Values(ElementType::f16),
::testing::Values(ElementType::undefined),
::testing::ValuesIn(dynInputShapes2D),
::testing::Values<std::string>(ov::test::utils::DEVICE_GPU)),
GroupConvolutionLayerGPUTestDynamic::getTestCaseName);
INSTANTIATE_TEST_SUITE_P(smoke_GroupConvolutionLayerGPUTest_dynamic2D_AsymAutoPad, GroupConvolutionLayerGPUTestDynamic,
::testing::Combine(
::testing::Combine(
::testing::Values(SizeVector{3, 3}),
::testing::Values(SizeVector{1, 1}),
::testing::Values(std::vector<ptrdiff_t>{1, 2}),
::testing::Values(std::vector<ptrdiff_t>{2, 1}),
::testing::Values(SizeVector{1, 1}),
::testing::Values(4),
::testing::Values(4),
::testing::ValuesIn({ngraph::op::PadType::SAME_LOWER, ngraph::op::PadType::SAME_UPPER})),
::testing::Values(ElementType::f16),
::testing::Values(ElementType::f16),
::testing::Values(ElementType::undefined),
::testing::ValuesIn(dynInputShapes2D),
::testing::Values<std::string>(ov::test::utils::DEVICE_GPU)),
GroupConvolutionLayerGPUTestDynamic::getTestCaseName);
} // namespace } // namespace
} // namespace GPULayerTestsDefinitions } // namespace GPULayerTestsDefinitions