TensorShape inputShape = MakeTensorShape(1, 1, 2, 2, layout);
TensorShape outputShape = MakeTensorShape(1, 2, 5, 5, layout);
- TensorShape weightsShape = MakeTensorShape(1, 2, 3, 3, layout);
+ // OIHW for NCHW; OHWI for NHWC
+ TensorShape weightsShape = MakeTensorShape(2, 1, 3, 3, layout);
TensorShape biasesShape = { 2 };
TensorInfo inputInfo(inputShape, ArmnnType);
true,
DataLayout::NHWC)
+ARMNN_AUTO_TEST_CASE(MultiChannelTransposeConvolution2dFloatNchw,
+ MultiChannelTransposeConvolution2dTest<DataType::Float32, DataType::Float32>,
+ DataLayout::NCHW)
+ARMNN_AUTO_TEST_CASE(MultiChannelTransposeConvolution2dFloatNhwc,
+ MultiChannelTransposeConvolution2dTest<DataType::Float32, DataType::Float32>,
+ DataLayout::NHWC)
+ARMNN_AUTO_TEST_CASE(MultiChannelTransposeConvolution2dUint8Nchw,
+ MultiChannelTransposeConvolution2dTest<DataType::QuantisedAsymm8, DataType::Signed32>,
+ DataLayout::NCHW)
+ARMNN_AUTO_TEST_CASE(MultiChannelTransposeConvolution2dUint8Nhwc,
+ MultiChannelTransposeConvolution2dTest<DataType::QuantisedAsymm8, DataType::Signed32>,
+ DataLayout::NHWC)
+
// ============================================================================
// COMPARE tests
inputDecoder[inputIndex];
const unsigned int weightsIndex =
- dataLayoutIndexed.GetIndex(weightsShape, batch, dOutput, yWeights, xWeights);
+ dataLayoutIndexed.GetIndex(weightsShape, dOutput, dInput, yWeights, xWeights);
weightsDecoder[weightsIndex];
const unsigned int outputIndex =