else return (4 + idx) % 3 + 1;
}
+static int toNCDHW(int idx)
+{
+ CV_Assert(-5 <= idx && idx < 5);
+ if (idx == 0) return 0;
+ else if (idx > 0) return idx % 4 + 1;
+ else return (5 + idx) % 4 + 1;
+}
+
// This values are used to indicate layer output's data layout where it's possible.
enum DataLayout
{
if (getDataLayout(name, data_layouts) == DATA_LAYOUT_NHWC)
axis = toNCHW(axis);
+ else if (getDataLayout(name, data_layouts) == DATA_LAYOUT_NDHWC)
+ axis = toNCDHW(axis);
layerParams.set("axis", axis);
// input(0) or input(n-1) is concat_dim
TEST_P(Test_TensorFlow_layers, concat_axis_1)
{
runTensorFlowNet("concat_axis_1");
+ runTensorFlowNet("concat_3d");
}
TEST_P(Test_TensorFlow_layers, batch_norm_1)