message: Modify nGraph's ConvolutionBackpropData and GroupConvolution
diff: @@ -544,6 +544,12 @@ public:
  const int group = inpCn / inpGroupCn;
  std::vector<size_t> kernel_shape = getShape<size_t>(blobs[0]);
  + if (group != 1)
  + {
  + kernel_shape[0] /= group;
  + kernel_shape.insert(kernel_shape.begin(), group);
  + }
  +
  auto ieWeights = std::make_shared<ngraph::op::Constant>(ngraph::element::f32, kernel_shape, blobs[0].data);
  if (fusedWeights)
  {
  @@ -566,14 +572,12 @@ public:
  std::shared_ptr<ngraph::Node> conv_node;
  if (group != 1) {
  - conv_node = std::make_shared<ngraph::op::GroupConvolution>(
  + conv_node = std::make_shared<ngraph::op::v1::GroupConvolution>(
  ieInpNode, ieWeights,
  ngraph::Strides(strides),
  - ngraph::Strides(dilations),
  ngraph::CoordinateDiff(std::vector<std::ptrdiff_t>(pads_begin.begin(), pads_begin.end())),
  ngraph::CoordinateDiff(std::vector<std::ptrdiff_t>(pads_end.begin(), pads_end.end())),
  - ngraph::Strides{},
  - group,
  + ngraph::Strides(dilations),
  pad_type);
  } else {
  conv_node = std::make_shared<ngraph::op::v1::Convolution>(
  @@ -2037,37 +2041,29 @@ public:
  Mat newWeights = blobs[0].reshape(1, inpCn);
  transpose(weightsMat, newWeights);
  }
  - size_t batch = ieInpNode->get_shape()[0];
  - std::vector<size_t> out_shape = {batch, (size_t)numOutput};
  std::vector<size_t> paddings_end;
  - std::vector<size_t> inpShape = ieInpNode->get_shape();
  if (padMode.empty())
  {
  for (int i = 0; i < pads_end.size(); i++) {
  - out_shape.push_back(strides[i] * (inpShape[2 + i] - 1) +
  - kernel_size[i] - pads_begin[i] - pads_end[i] + adjust_pads[i]);
  paddings_end.push_back(pads_end[i] - adjust_pads[i]);
  }
  }
  else if (padMode == "SAME")
  {
  for (int i = 0; i < pads_begin.size(); i++) {
  - out_shape.push_back(strides[i] * (inpShape[2 + i] - 1) + 1 + adjust_pads[i]);
  paddings_end.push_back(kernel_size[i] - pads_begin[i] - 1 - adjust_pads[i]);
  }
  } else {
  paddings_end = pads_end;
  }
  - auto deconv = std::make_shared<ngraph::op::ConvolutionBackpropData>(
  - ngraph::Shape{out_shape},
  - ieWeights,
  + auto deconv = std::make_shared<ngraph::op::v1::ConvolutionBackpropData>(
  ieInpNode,
  + ieWeights,
  ngraph::Strides(strides),
  - ngraph::Strides(dilations),
  ngraph::CoordinateDiff(std::vector<std::ptrdiff_t>(pads_begin.begin(), pads_begin.end())),
  ngraph::CoordinateDiff(std::vector<std::ptrdiff_t>(paddings_end.begin(), paddings_end.end())),
  - (strides.size() == 2 ? ngraph::Strides{1, 1} : ngraph::Strides{1, 1, 1}));
  + ngraph::Strides(dilations));
  if (hasBias() || fusedBias)
  {
  std::vector<size_t> shape(deconv->get_shape().size(), 1);
  