Compute Library
 22.11
Convolution3D.cpp File Reference
#include "arm_compute/core/Helpers.h"
#include "arm_compute/core/Types.h"
#include "arm_compute/runtime/NEON/functions/NEConv3D.h"
#include "arm_compute/runtime/Tensor.h"
#include "arm_compute/runtime/TensorAllocator.h"
#include "tests/NEON/Accessor.h"
#include "tests/PaddingCalculator.h"
#include "tests/datasets/ShapeDatasets.h"
#include "tests/framework/Asserts.h"
#include "tests/framework/Macros.h"
#include "tests/framework/datasets/Datasets.h"
#include "tests/validation/Validation.h"
#include "tests/validation/fixtures/DirectConvolution3DFixture.h"

Go to the source code of this file.

Namespaces

 arm_compute
 Copyright (c) 2017-2022 Arm Limited.
 
 arm_compute::test
 
 arm_compute::test::validation
 

Typedefs

template<typename T >
using NEDirectConvolution3DFixture = DirectConvolution3DValidationFixture< Tensor, Accessor, NEConv3D, T >
 

Functions

 DATA_TEST_CASE (Validate, framework::DatasetMode::ALL, zip(zip(zip(zip(framework::dataset::make("InputInfo", { TensorInfo(TensorShape(27U, 13U, 2U, 4U), 1U, DataType::F32, DataLayout::NDHWC), TensorInfo(TensorShape(27U, 13U, 2U, 4U), 1U, DataType::F32, DataLayout::NDHWC), TensorInfo(TensorShape(27U, 13U, 2U, 4U), 1U, DataType::F32, DataLayout::NDHWC), TensorInfo(TensorShape(27U, 13U, 2U, 4U), 1U, DataType::F32, DataLayout::NHWC), TensorInfo(TensorShape(27U, 13U, 2U, 4U), 1U, DataType::F32, DataLayout::NDHWC), TensorInfo(TensorShape(27U, 13U, 2U, 4U), 1U, DataType::F32, DataLayout::NDHWC), TensorInfo(TensorShape(27U, 13U, 2U, 4U), 1U, DataType::F32, DataLayout::NDHWC), TensorInfo(TensorShape(27U, 13U, 2U, 4U), 1U, DataType::U32, DataLayout::NDHWC), }), framework::dataset::make("WeightsInfo",{ TensorInfo(TensorShape(4U, 3U, 3U, 3U, 2U), 1U, DataType::F16), TensorInfo(TensorShape(4U, 3U, 3U, 3U, 3U), 1U, DataType::F32), TensorInfo(TensorShape(4U, 3U, 3U, 3U, 2U, 3U), 1U, DataType::F32), TensorInfo(TensorShape(4U, 3U, 3U, 3U, 2U), 1U, DataType::F32), TensorInfo(TensorShape(4U, 3U, 3U, 3U, 2U), 1U, DataType::F32), TensorInfo(TensorShape(4U, 3U, 3U, 3U, 2U), 1U, DataType::F32), TensorInfo(TensorShape(4U, 3U, 3U, 3U, 2U), 1U, DataType::F32), TensorInfo(TensorShape(4U, 3U, 3U, 3U, 2U), 1U, DataType::U32), })), framework::dataset::make("BiasesInfo",{ TensorInfo(TensorShape(4U), 1U, DataType::F32), TensorInfo(TensorShape(4U), 1U, DataType::F32), TensorInfo(TensorShape(4U), 1U, DataType::F32), TensorInfo(TensorShape(4U), 1U, DataType::F32), TensorInfo(TensorShape(3U), 1U, DataType::F32), TensorInfo(TensorShape(4U, 2U), 1U, DataType::F32), TensorInfo(TensorShape(4U), 1U, DataType::F32), TensorInfo(TensorShape(4U), 1U, DataType::F32), })), framework::dataset::make("OutputInfo",{ TensorInfo(TensorShape(25U, 11U, 4U), 1U, DataType::F32), TensorInfo(TensorShape(25U, 11U, 4U), 1U, DataType::F32), TensorInfo(TensorShape(25U, 11U, 4U), 1U, DataType::F32), TensorInfo(TensorShape(25U, 11U, 4U), 1U, DataType::F32), TensorInfo(TensorShape(25U, 11U, 4U), 1U, DataType::F32), TensorInfo(TensorShape(25U, 11U, 4U), 1U, DataType::F32), TensorInfo(TensorShape(26U, 11U, 4U), 1U, DataType::F32), TensorInfo(TensorShape(25U, 11U, 4U), 1U, DataType::U32), })), framework::dataset::make("Expected", { false, false, false, false, false, false, false, false})), input_info, weights_info, biases_info, output_info, expected)
 
 FIXTURE_DATA_TEST_CASE (RunSmall, NEDirectConvolution3DFixture< float >, framework::DatasetMode::PRECOMMIT, combine(combine(data_precommit, framework::dataset::make("DataType", DataType::F32)), framework::dataset::make("DataLayout", { DataLayout::NDHWC })))
 
 TEST_SUITE_END () FIXTURE_DATA_TEST_CASE(RunSmall = ActivationValidationQuantizedFixture<CLTensor, CLAccessor, CLActivationLayer, T>
 [CLActivationLayer Test snippet] More...
 
 FIXTURE_DATA_TEST_CASE (RunSmall, NEDirectConvolution3DQuantizedFixture< uint8_t >, framework::DatasetMode::PRECOMMIT, combine(combine(combine(combine(combine(combine(zip(zip(zip(zip(zip(zip(zip(zip(zip(zip(zip(framework::dataset::make("InputShape", { TensorShape(7U, 5U, 3U, 13U, 3U), TensorShape(15U, 7U, 11U, 7U), TensorShape(19U, 5U, 16U, 4U), TensorShape(13U, 5U, 17U, 2U) }), framework::dataset::make("StrideX", { 1, 3, 2, 1 })), framework::dataset::make("StrideY", { 2, 1, 3, 1 })), framework::dataset::make("StrideZ", { 3, 2, 1, 1 })), framework::dataset::make("PadX", { 0, 2, 1, 0 })), framework::dataset::make("PadY", { 1, 0, 2, 0 })), framework::dataset::make("PadZ", { 2, 1, 0, 0 })), framework::dataset::make("KernelWidth", { 3, 7, 5, 1 })), framework::dataset::make("KernelHeight", { 5, 3, 7, 1 })), framework::dataset::make("KernelDepth", { 7, 5, 3, 1 })), framework::dataset::make("NumKernels", { 5, 3, 1, 11 })), framework::dataset::make("HasBias", { true, true, true, false })), framework::dataset::make("Activation", ActivationLayerInfo())), framework::dataset::make("DataType", DataType::QASYMM8)), framework::dataset::make("DataLayout", DataLayout::NDHWC)), framework::dataset::make("SrcQuantizationInfo", QuantizationInfo(0.1f, 10))), framework::dataset::make("WeightsQuantizationInfo", QuantizationInfo(0.3f, 20))), framework::dataset::make("DstQuantizationInfo", QuantizationInfo(0.2f, 5))))
 
 combine (combine(combine(combine(combine(combine(zip(zip(zip(zip(zip(zip(zip(zip(zip(zip(zip(framework::dataset::make("InputShape", { TensorShape(7U, 5U, 3U, 13U, 3U), TensorShape(15U, 7U, 11U, 7U), TensorShape(19U, 5U, 16U, 4U), TensorShape(13U, 5U, 17U, 2U) }), framework::dataset::make("StrideX", { 1, 3, 2, 1 })), framework::dataset::make("StrideY", { 2, 1, 3, 1 })), framework::dataset::make("StrideZ", { 3, 2, 1, 1 })), framework::dataset::make("PadX", { 0, 2, 1, 0 })), framework::dataset::make("PadY", { 1, 0, 2, 0 })), framework::dataset::make("PadZ", { 2, 1, 0, 0 })), framework::dataset::make("KernelWidth", { 3, 7, 5, 1 })), framework::dataset::make("KernelHeight", { 5, 3, 7, 1 })), framework::dataset::make("KernelDepth", { 7, 5, 3, 1 })), framework::dataset::make("NumKernels", { 5, 3, 1, 11 })), framework::dataset::make("HasBias", { true, true, true, false })), framework::dataset::make("Activation", ActivationLayerInfo())), framework::dataset::make("DataType", DataType::QASYMM8_SIGNED)), framework::dataset::make("DataLayout", DataLayout::NDHWC)), framework::dataset::make("SrcQuantizationInfo", QuantizationInfo(0.1f, 10))), framework::dataset::make("WeightsQuantizationInfo", QuantizationInfo(0.3f, 20))), framework::dataset::make("DstQuantizationInfo", QuantizationInfo(0.2f, 5))))
 

Variables

 NEDirectConvolution3DQuantizedFixture< int8_t >