void Transpose3D()

in ngraph_bridge/ngraph_conversions.h [50:66]


void Transpose3D(ngraph::Output<ngraph::Node>& node) {
  static_assert(a < 5 && b < 5 && c < 5 && d < 5 && e < 5,
                "Number of dimensions cannot exceed 5");
  static_assert(a != b && a != c && a != d && a != e && b != c && b != d &&
                    b != e && c != d && c != e && d != e,
                "Dimensions indices cannot be equal");
  auto& s = node.get_shape();
  ngraph::Shape reshaped_shape{s[a], s[b], s[c], s[d], s[e]};
  ngraph::Shape transpose_order{a, b, c, d, e};
  NGRAPH_VLOG(3) << "transposing " << ngraph::join(s) << " to "
                 << ngraph::join(reshaped_shape) << "axis-order "
                 << ngraph::join(transpose_order);
  auto input_order = std::make_shared<opset::Constant>(
      ngraph::element::u64, ngraph::Shape{transpose_order.size()},
      transpose_order);
  node = std::make_shared<opset::Transpose>(node, input_order);
}