Compute Library
18.05
|
#include "arm_compute/core/Types.h"
#include "arm_compute/runtime/CL/CLTensor.h"
#include "arm_compute/runtime/CL/CLTensorAllocator.h"
#include "arm_compute/runtime/CL/functions/CLDirectConvolutionLayer.h"
#include "tests/CL/CLAccessor.h"
#include "tests/PaddingCalculator.h"
#include "tests/datasets/DirectConvolutionLayerDataset.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/DirectConvolutionLayerFixture.h"
Go to the source code of this file.
Namespaces | |
arm_compute | |
This file contains all available output stages for GEMMLowp on OpenCL. | |
arm_compute::test | |
arm_compute::test::validation | |
Typedefs | |
template<typename T > | |
using | CLDirectConvolutionLayerFixture = DirectConvolutionValidationFixture< CLTensor, CLAccessor, CLDirectConvolutionLayer, T > |
template<typename T > | |
using | CLDirectConvolutionValidationWithTensorShapesFixture = DirectConvolutionValidationWithTensorShapesFixture< CLTensor, CLAccessor, CLDirectConvolutionLayer, T > |
template<typename T > | |
using | CLDirectConvolutionLayerFixedPointFixture = DirectConvolutionValidationFixedPointFixture< CLTensor, CLAccessor, CLDirectConvolutionLayer, T > |
template<typename T > | |
using | CLDirectConvolutionLayerQuantizedFixture = DirectConvolutionValidationQuantizedFixture< CLTensor, CLAccessor, CLDirectConvolutionLayer, T > |
template<typename T > | |
using | CLDirectConvolutionValidationWithTensorShapesQuantizedFixture = DirectConvolutionValidationWithTensorShapesQuantizedFixture< CLTensor, CLAccessor, CLDirectConvolutionLayer, T > |
Functions | |
DATA_TEST_CASE (Validate, framework::DatasetMode::ALL, zip(zip(zip(zip(zip(zip(framework::dataset::make("InputInfo",{TensorInfo(TensorShape(27U, 13U, 2U), 1, DataType::F32, 0), TensorInfo(TensorShape(27U, 13U, 2U), 1, DataType::F32, 0), TensorInfo(TensorShape(27U, 13U, 2U), 1, DataType::F32, 0), TensorInfo(TensorShape(27U, 13U, 2U), 1, DataType::F32, 0), TensorInfo(TensorShape(27U, 13U, 2U), 1, DataType::F32, 0), TensorInfo(TensorShape(27U, 13U, 2U), 1, DataType::F32, 0), TensorInfo(TensorShape(27U, 13U, 2U), 1, DataType::F32, 0), TensorInfo(TensorShape(27U, 13U, 2U), 1, DataType::F32, 0), TensorInfo(TensorShape(27U, 13U, 2U), 1, DataType::F32, 0), TensorInfo(TensorShape(27U, 13U, 2U), 1, DataType::F32, 0), TensorInfo(TensorShape(32U, 16U, 2U), 1, DataType::F32, 0),}), framework::dataset::make("WeightsInfo",{TensorInfo(TensorShape(3U, 3U, 2U, 4U), 1, DataType::F16, 0), TensorInfo(TensorShape(3U, 3U, 3U, 4U), 1, DataType::F32, 0), TensorInfo(TensorShape(9U, 9U, 2U, 4U), 1, DataType::F32, 0), TensorInfo(TensorShape(5U, 3U, 2U, 4U), 1, DataType::F32, 0), TensorInfo(TensorShape(3U, 3U, 2U, 4U, 3U), 1, DataType::F32, 0), TensorInfo(TensorShape(3U, 3U, 2U, 4U), 1, DataType::F32, 0), TensorInfo(TensorShape(3U, 3U, 2U, 4U), 1, DataType::F32, 0), TensorInfo(TensorShape(3U, 3U, 2U, 4U), 1, DataType::F32, 0), TensorInfo(TensorShape(3U, 3U, 2U, 4U), 1, DataType::F32, 0), TensorInfo(TensorShape(3U, 3U, 2U, 4U), 1, DataType::F32, 0), TensorInfo(TensorShape(1U, 1U, 2U, 4U), 1, DataType::F32, 0),})), framework::dataset::make("BiasesInfo",{TensorInfo(TensorShape(4U), 1, DataType::F32, 0), TensorInfo(TensorShape(4U), 1, DataType::F32, 0), TensorInfo(TensorShape(4U), 1, DataType::F32, 0), TensorInfo(TensorShape(4U), 1, DataType::F32, 0), TensorInfo(TensorShape(4U), 1, DataType::F32, 0), TensorInfo(TensorShape(4U), 1, DataType::F32, 0), TensorInfo(TensorShape(3U), 1, DataType::F32, 0), TensorInfo(TensorShape(4U, 2U), 1, DataType::F32, 0), TensorInfo(TensorShape(4U), 1, DataType::F32, 0), TensorInfo(TensorShape(4U), 1, DataType::F32, 0), TensorInfo(TensorShape(4U), 1, DataType::F32, 0),})), framework::dataset::make("OutputInfo",{TensorInfo(TensorShape(25U, 11U, 4U), 1, DataType::F32, 0), TensorInfo(TensorShape(25U, 11U, 4U), 1, DataType::F32, 0), TensorInfo(TensorShape(25U, 11U, 4U), 1, DataType::F32, 0), TensorInfo(TensorShape(25U, 11U, 4U), 1, DataType::F32, 0), TensorInfo(TensorShape(25U, 11U, 4U), 1, DataType::F32, 0), TensorInfo(TensorShape(25U, 11U, 4U), 1, DataType::F32, 0), TensorInfo(TensorShape(25U, 11U, 4U), 1, DataType::F32, 0), TensorInfo(TensorShape(25U, 11U, 4U), 1, DataType::F32, 0), TensorInfo(TensorShape(26U, 11U, 4U), 1, DataType::F32, 0), TensorInfo(TensorShape(25U, 11U, 4U), 1, DataType::F32, 0), TensorInfo(TensorShape(32U, 16U, 4U), 1, DataType::F32, 0),})), framework::dataset::make("ConvInfo",{PadStrideInfo(1, 1, 0, 0), PadStrideInfo(1, 1, 0, 0), PadStrideInfo(1, 1, 0, 0), PadStrideInfo(1, 1, 0, 0), PadStrideInfo(1, 1, 0, 0), PadStrideInfo(3, 3, 0, 0), PadStrideInfo(1, 1, 0, 0), PadStrideInfo(1, 1, 0, 0), PadStrideInfo(1, 1, 0, 0), PadStrideInfo(1, 1, 0, 0), PadStrideInfo(1, 1, 0, 0),})), framework::dataset::make("ActivationInfo",{ActivationLayerInfo(ActivationLayerInfo::ActivationFunction::RELU)})), framework::dataset::make("Expected",{false, false, false, false, false, false, false, false, false, false, true})), input_info, weights_info, biases_info, output_info, conv_info, act_info, expected) | |
FIXTURE_DATA_TEST_CASE (Run, CLDirectConvolutionLayerFixture< half >, framework::DatasetMode::ALL, combine(combine(combine(data, framework::dataset::make("DataType", DataType::F16)), ActivationFunctionsDataset), framework::dataset::make("DataLayout", DataLayout::NCHW))) | |
FIXTURE_DATA_TEST_CASE (Run, CLDirectConvolutionLayerFixture< float >, framework::DatasetMode::ALL, combine(combine(combine(data, framework::dataset::make("DataType", DataType::F32)), ActivationFunctionsDataset), framework::dataset::make("DataLayout", DataLayout::NCHW))) | |
FIXTURE_DATA_TEST_CASE (Run, CLDirectConvolutionValidationWithTensorShapesFixture< float >, framework::DatasetMode::ALL, combine(combine(datasets::DirectConvolutionLayerDataset(), framework::dataset::make("DataType", DataType::F32)), ActivationFunctionsDataset)) | |
FIXTURE_DATA_TEST_CASE (Run, CLDirectConvolutionLayerFixedPointFixture< int8_t >, framework::DatasetMode::ALL, combine(combine(combine(data_fixed_point, framework::dataset::make("DataType", DataType::QS8)), framework::dataset::make("FractionalBits", 2, 7)), ActivationFunctionsDataset)) | |
FIXTURE_DATA_TEST_CASE (Run, CLDirectConvolutionLayerFixedPointFixture< int16_t >, framework::DatasetMode::ALL, combine(combine(combine(data_fixed_point, framework::dataset::make("DataType", DataType::QS16)), framework::dataset::make("FractionalBits", 2, 15)), ActivationFunctionsDataset)) | |
FIXTURE_DATA_TEST_CASE (Run, CLDirectConvolutionLayerQuantizedFixture< uint8_t >, framework::DatasetMode::ALL, combine(combine(combine(data, framework::dataset::make("DataType", DataType::QASYMM8)), framework::dataset::make("QuantizationInfo",{QuantizationInfo(2.f/255, 10)})), QuantizedActivationFunctionsDataset)) | |
FIXTURE_DATA_TEST_CASE (Run, CLDirectConvolutionValidationWithTensorShapesQuantizedFixture< uint8_t >, framework::DatasetMode::ALL, combine(combine(combine(datasets::DirectConvolutionLayerDataset(), framework::dataset::make("DataType", DataType::QASYMM8)), framework::dataset::make("QuantizationInfo",{QuantizationInfo(2.f/255, 127)})), QuantizedActivationFunctionsDataset)) | |