1 // 2 // Copyright © 2021 Arm Ltd and Contributors. All rights reserved. 3 // SPDX-License-Identifier: MIT 4 // 5 6 #pragma once 7 8 #include <armnnTestUtils/LayerTestResult.hpp> 9 10 #include <Half.hpp> 11 12 #include <ResolveType.hpp> 13 14 #include <armnn/Types.hpp> 15 16 #include <armnn/backends/IBackendInternal.hpp> 17 #include <armnn/backends/WorkloadFactory.hpp> 18 19 // 20 // Convolution3d 21 // 22 23 LayerTestResult<float, 5> SimpleConvolution3d3x3x3Float32Test( 24 armnn::IWorkloadFactory& workloadFactory, 25 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, 26 const armnn::ITensorHandleFactory& tensorHandleFactory, 27 bool biasEnabled, 28 armnn::DataLayout dataLayout); 29 30 LayerTestResult<int8_t , 5> SimpleConvolution3d3x3x3Int8Test( 31 armnn::IWorkloadFactory& workloadFactory, 32 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, 33 const armnn::ITensorHandleFactory& tensorHandleFactory, 34 bool biasEnabled, 35 armnn::DataLayout dataLayout); 36 37 LayerTestResult<uint8_t, 5> SimpleConvolution3d3x3x3Uint8Test( 38 armnn::IWorkloadFactory& workloadFactory, 39 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, 40 const armnn::ITensorHandleFactory& tensorHandleFactory, 41 bool biasEnabled, 42 armnn::DataLayout dataLayout); 43 44 LayerTestResult<int16_t, 5> SimpleConvolution3d3x3x3Int16Test( 45 armnn::IWorkloadFactory& workloadFactory, 46 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, 47 const armnn::ITensorHandleFactory& tensorHandleFactory, 48 bool biasEnabled, 49 armnn::DataLayout dataLayout); 50 51 LayerTestResult<float, 5> Convolution3d2x2x2Strides3x5x5Float32Test( 52 armnn::IWorkloadFactory& workloadFactory, 53 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, 54 const armnn::ITensorHandleFactory& tensorHandleFactory, 55 bool biasEnabled, 56 armnn::DataLayout dataLayout); 57 58 LayerTestResult<int8_t , 5> Convolution3d2x2x2Strides3x5x5Int8Test( 59 armnn::IWorkloadFactory& workloadFactory, 60 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, 61 const armnn::ITensorHandleFactory& tensorHandleFactory, 62 bool biasEnabled, 63 armnn::DataLayout dataLayout); 64 65 LayerTestResult<uint8_t, 5> Convolution3d2x2x2Strides3x5x5Uint8Test( 66 armnn::IWorkloadFactory& workloadFactory, 67 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, 68 const armnn::ITensorHandleFactory& tensorHandleFactory, 69 bool biasEnabled, 70 armnn::DataLayout dataLayout); 71 72 LayerTestResult<int16_t, 5> Convolution3d2x2x2Strides3x5x5Int16Test( 73 armnn::IWorkloadFactory& workloadFactory, 74 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, 75 const armnn::ITensorHandleFactory& tensorHandleFactory, 76 bool biasEnabled, 77 armnn::DataLayout dataLayout); 78 79 LayerTestResult<float, 5> Convolution3d2x2x2Dilation2x2x2Float32Test( 80 armnn::IWorkloadFactory& workloadFactory, 81 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, 82 const armnn::ITensorHandleFactory& tensorHandleFactory, 83 bool biasEnabled, 84 armnn::DataLayout dataLayout); 85 86 LayerTestResult<int8_t , 5> Convolution3d2x2x2Dilation2x2x2Int8Test( 87 armnn::IWorkloadFactory& workloadFactory, 88 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, 89 const armnn::ITensorHandleFactory& tensorHandleFactory, 90 bool biasEnabled, 91 armnn::DataLayout dataLayout); 92 93 LayerTestResult<uint8_t, 5> Convolution3d2x2x2Dilation2x2x2Uint8Test( 94 armnn::IWorkloadFactory& workloadFactory, 95 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, 96 const armnn::ITensorHandleFactory& tensorHandleFactory, 97 bool biasEnabled, 98 armnn::DataLayout dataLayout); 99 100 LayerTestResult<int16_t, 5> Convolution3d2x2x2Dilation2x2x2Int16Test( 101 armnn::IWorkloadFactory& workloadFactory, 102 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, 103 const armnn::ITensorHandleFactory& tensorHandleFactory, 104 bool biasEnabled, 105 armnn::DataLayout dataLayout); 106 107 LayerTestResult<float, 5> Convolution3dPaddingSame3x3x3Float32Test( 108 armnn::IWorkloadFactory& workloadFactory, 109 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, 110 const armnn::ITensorHandleFactory& tensorHandleFactory, 111 bool biasEnabled, 112 armnn::DataLayout dataLayout); 113 114 LayerTestResult<int8_t , 5> Convolution3dPaddingSame3x3x3Int8Test( 115 armnn::IWorkloadFactory& workloadFactory, 116 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, 117 const armnn::ITensorHandleFactory& tensorHandleFactory, 118 bool biasEnabled, 119 armnn::DataLayout dataLayout); 120 121 LayerTestResult<uint8_t, 5> Convolution3dPaddingSame3x3x3Uint8Test( 122 armnn::IWorkloadFactory& workloadFactory, 123 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, 124 const armnn::ITensorHandleFactory& tensorHandleFactory, 125 bool biasEnabled, 126 armnn::DataLayout dataLayout); 127 128 LayerTestResult<int16_t, 5> Convolution3dPaddingSame3x3x3Int16Test( 129 armnn::IWorkloadFactory& workloadFactory, 130 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, 131 const armnn::ITensorHandleFactory& tensorHandleFactory, 132 bool biasEnabled, 133 armnn::DataLayout dataLayout); 134 135 LayerTestResult<float, 5> Convolution3dStrideDilationPadding3x3x3Float32Test( 136 armnn::IWorkloadFactory& workloadFactory, 137 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, 138 const armnn::ITensorHandleFactory& tensorHandleFactory, 139 bool biasEnabled, 140 armnn::DataLayout dataLayout); 141 142 LayerTestResult<float, 5> Convolution3d2x2x2Stride3x3x3SmallFloat32Test( 143 armnn::IWorkloadFactory& workloadFactory, 144 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, 145 const armnn::ITensorHandleFactory& tensorHandleFactory, 146 bool biasEnabled, 147 armnn::DataLayout dataLayout); 148 149 LayerTestResult<armnn::Half, 5> Convolution3d2x3x3Float16Test( 150 armnn::IWorkloadFactory& workloadFactory, 151 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, 152 const armnn::ITensorHandleFactory& tensorHandleFactory, 153 bool biasEnabled, 154 armnn::DataLayout dataLayout); 155 156 LayerTestResult<armnn::Half, 5> Convolution3d2x2x2SmallFloat16Test( 157 armnn::IWorkloadFactory& workloadFactory, 158 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, 159 const armnn::ITensorHandleFactory& tensorHandleFactory, 160 bool biasEnabled, 161 armnn::DataLayout dataLayout); 162