From c43de6a6a4af212d599824fc783871c440a9fda8 Mon Sep 17 00:00:00 2001 From: Finn Williams Date: Thu, 27 Aug 2020 11:13:25 +0100 Subject: IVGCVSW-5252 Use CreateTensorHandle() function from TensorHandleFactory in the tests for layers between G-L Signed-off-by: Finn Williams Change-Id: I197351a479fb211787bd12a73c9618d2ded95898 --- .../test/layerTests/LstmTestImpl.cpp | 200 +++++++++++---------- 1 file changed, 105 insertions(+), 95 deletions(-) (limited to 'src/backends/backendsCommon/test/layerTests/LstmTestImpl.cpp') diff --git a/src/backends/backendsCommon/test/layerTests/LstmTestImpl.cpp b/src/backends/backendsCommon/test/layerTests/LstmTestImpl.cpp index 946764b5ba..8f39f42452 100644 --- a/src/backends/backendsCommon/test/layerTests/LstmTestImpl.cpp +++ b/src/backends/backendsCommon/test/layerTests/LstmTestImpl.cpp @@ -136,6 +136,7 @@ LayerTestResult LstmNoCifgNoPeepholeNoProjectionTestImpl( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, const boost::multi_array& input, const boost::multi_array& outputExpected, float qScale = 0.0f, @@ -183,20 +184,19 @@ LstmNoCifgNoPeepholeNoProjectionTestImpl( outputVector.assign(outputExpected.data(), outputExpected.data() + (batchSize * outputSize)); ret.outputExpected = MakeTensor(outputTensorInfo, outputVector); - ARMNN_NO_DEPRECATE_WARN_BEGIN - std::unique_ptr inputHandle = workloadFactory.CreateTensorHandle(inputTensorInfo); + std::unique_ptr inputHandle = tensorHandleFactory.CreateTensorHandle(inputTensorInfo); std::unique_ptr cellStateInHandle = - workloadFactory.CreateTensorHandle(cellStateInTensorInfo); + tensorHandleFactory.CreateTensorHandle(cellStateInTensorInfo); std::unique_ptr outputStateInHandle = - workloadFactory.CreateTensorHandle(outputStateInTensorInfo); + tensorHandleFactory.CreateTensorHandle(outputStateInTensorInfo); - std::unique_ptr scratchHandle = workloadFactory.CreateTensorHandle(scratchBufferTensorInfo); + std::unique_ptr scratchHandle = + tensorHandleFactory.CreateTensorHandle(scratchBufferTensorInfo); std::unique_ptr outputStateOutHandle = - workloadFactory.CreateTensorHandle(outputStateOutTensorInfo); + tensorHandleFactory.CreateTensorHandle(outputStateOutTensorInfo); std::unique_ptr cellStateOutHandle = - workloadFactory.CreateTensorHandle(cellStateOutTensorInfo); - std::unique_ptr outputHandle = workloadFactory.CreateTensorHandle(outputTensorInfo); - ARMNN_NO_DEPRECATE_WARN_END + tensorHandleFactory.CreateTensorHandle(cellStateOutTensorInfo); + std::unique_ptr outputHandle = tensorHandleFactory.CreateTensorHandle(outputTensorInfo); armnn::LstmQueueDescriptor data; armnn::WorkloadInfo info; @@ -340,6 +340,7 @@ template> LayerTestResult LstmLayerNoCifgWithPeepholeWithProjectionTestImpl(armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, const boost::multi_array& input, const boost::multi_array& outputExpected, float qScale = 0.0f, @@ -387,20 +388,19 @@ LstmLayerNoCifgWithPeepholeWithProjectionTestImpl(armnn::IWorkloadFactory& workl outputVector.assign(outputExpected.data(), outputExpected.data() + (batchSize * outputSize)); ret.outputExpected = MakeTensor(outputTensorInfo, outputVector); - ARMNN_NO_DEPRECATE_WARN_BEGIN - std::unique_ptr inputHandle = workloadFactory.CreateTensorHandle(inputTensorInfo); + std::unique_ptr inputHandle = tensorHandleFactory.CreateTensorHandle(inputTensorInfo); std::unique_ptr cellStateInHandle = - workloadFactory.CreateTensorHandle(cellStateInTensorInfo); + tensorHandleFactory.CreateTensorHandle(cellStateInTensorInfo); std::unique_ptr outputStateInHandle = - workloadFactory.CreateTensorHandle(outputStateInTensorInfo); + tensorHandleFactory.CreateTensorHandle(outputStateInTensorInfo); - std::unique_ptr scratchHandle = workloadFactory.CreateTensorHandle(scratchBufferTensorInfo); + std::unique_ptr scratchHandle = + tensorHandleFactory.CreateTensorHandle(scratchBufferTensorInfo); std::unique_ptr outputStateOutHandle = - workloadFactory.CreateTensorHandle(outputStateOutTensorInfo); + tensorHandleFactory.CreateTensorHandle(outputStateOutTensorInfo); std::unique_ptr cellStateOutHandle = - workloadFactory.CreateTensorHandle(cellStateOutTensorInfo); - std::unique_ptr outputHandle = workloadFactory.CreateTensorHandle(outputTensorInfo); - ARMNN_NO_DEPRECATE_WARN_END + tensorHandleFactory.CreateTensorHandle(cellStateOutTensorInfo); + std::unique_ptr outputHandle = tensorHandleFactory.CreateTensorHandle(outputTensorInfo); armnn::LstmQueueDescriptor data; armnn::WorkloadInfo info; @@ -1057,6 +1057,7 @@ template> LayerTestResult LstmLayerWithCifgWithPeepholeNoProjectionTestImpl( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, const boost::multi_array& input, const boost::multi_array& outputExpected, float qScale = 0.0f, @@ -1220,24 +1221,22 @@ LayerTestResult LstmLayerWithCifgWithPeepholeNoProjectionTestImpl( LayerTestResult ret3(outputTensorInfo); ret3.outputExpected = MakeTensor(outputTensorInfo, outputData); - ARMNN_NO_DEPRECATE_WARN_BEGIN // Prepare the inputs and outputs for the workload std::unique_ptr inputHandle = - workloadFactory.CreateTensorHandle(inputTensorInfo); + tensorHandleFactory.CreateTensorHandle(inputTensorInfo); std::unique_ptr outputStateInHandle = - workloadFactory.CreateTensorHandle(outputStateInTensorInfo); + tensorHandleFactory.CreateTensorHandle(outputStateInTensorInfo); std::unique_ptr cellStateInHandle = - workloadFactory.CreateTensorHandle(cellStateInTensorInfo); + tensorHandleFactory.CreateTensorHandle(cellStateInTensorInfo); std::unique_ptr scratchBufferHandle = - workloadFactory.CreateTensorHandle(scratchBufferTensorInfo); + tensorHandleFactory.CreateTensorHandle(scratchBufferTensorInfo); std::unique_ptr outputStateOutHandle = - workloadFactory.CreateTensorHandle(outputStateOutTensorInfo); + tensorHandleFactory.CreateTensorHandle(outputStateOutTensorInfo); std::unique_ptr cellStateOutHandle = - workloadFactory.CreateTensorHandle(cellStateOutTensorInfo); + tensorHandleFactory.CreateTensorHandle(cellStateOutTensorInfo); std::unique_ptr outputHandle = - workloadFactory.CreateTensorHandle(outputTensorInfo); - ARMNN_NO_DEPRECATE_WARN_END + tensorHandleFactory.CreateTensorHandle(outputTensorInfo); armnn::WorkloadInfo info; AddInputToWorkload(data, info, inputTensorInfo, inputHandle.get()); @@ -1284,6 +1283,7 @@ template> LayerTestResult LstmLayerNoCifgWithPeepholeWithProjectionWithLayerNormTestImpl(armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, const boost::multi_array& input, const boost::multi_array& outputExpected, float qScale = 0.0f, @@ -1331,20 +1331,19 @@ LstmLayerNoCifgWithPeepholeWithProjectionWithLayerNormTestImpl(armnn::IWorkloadF outputVector.assign(outputExpected.data(), outputExpected.data() + (batchSize * outputSize)); ret.outputExpected = MakeTensor(outputTensorInfo, outputVector); - ARMNN_NO_DEPRECATE_WARN_BEGIN - std::unique_ptr inputHandle = workloadFactory.CreateTensorHandle(inputTensorInfo); + std::unique_ptr inputHandle = tensorHandleFactory.CreateTensorHandle(inputTensorInfo); std::unique_ptr cellStateInHandle = - workloadFactory.CreateTensorHandle(cellStateInTensorInfo); + tensorHandleFactory.CreateTensorHandle(cellStateInTensorInfo); std::unique_ptr outputStateInHandle = - workloadFactory.CreateTensorHandle(outputStateInTensorInfo); + tensorHandleFactory.CreateTensorHandle(outputStateInTensorInfo); - std::unique_ptr scratchHandle = workloadFactory.CreateTensorHandle(scratchBufferTensorInfo); + std::unique_ptr scratchHandle = + tensorHandleFactory.CreateTensorHandle(scratchBufferTensorInfo); std::unique_ptr outputStateOutHandle = - workloadFactory.CreateTensorHandle(outputStateOutTensorInfo); + tensorHandleFactory.CreateTensorHandle(outputStateOutTensorInfo); std::unique_ptr cellStateOutHandle = - workloadFactory.CreateTensorHandle(cellStateOutTensorInfo); - std::unique_ptr outputHandle = workloadFactory.CreateTensorHandle(outputTensorInfo); - ARMNN_NO_DEPRECATE_WARN_END + tensorHandleFactory.CreateTensorHandle(cellStateOutTensorInfo); + std::unique_ptr outputHandle = tensorHandleFactory.CreateTensorHandle(outputTensorInfo); armnn::LstmQueueDescriptor data; armnn::WorkloadInfo info; @@ -1556,6 +1555,7 @@ LstmLayerNoCifgWithPeepholeWithProjectionWithLayerNormTestImpl(armnn::IWorkloadF LayerTestResult QuantizedLstmTestImpl( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, const boost::multi_array& input, const boost::multi_array& outputExpected) { @@ -1617,18 +1617,16 @@ LayerTestResult QuantizedLstmTestImpl( outputVector.assign(outputExpected.data(), outputExpected.data() + (numBatches * outputSize)); ret.outputExpected = MakeTensor(outputStateInfo, outputVector); - ARMNN_NO_DEPRECATE_WARN_BEGIN // Create tensor handles - std::unique_ptr inputHandle = workloadFactory.CreateTensorHandle(inputInfo); + std::unique_ptr inputHandle = tensorHandleFactory.CreateTensorHandle(inputInfo); std::unique_ptr cellStateInHandle = - workloadFactory.CreateTensorHandle(cellStateInfo); + tensorHandleFactory.CreateTensorHandle(cellStateInfo); std::unique_ptr outputStateInHandle = - workloadFactory.CreateTensorHandle(outputStateInfo); + tensorHandleFactory.CreateTensorHandle(outputStateInfo); std::unique_ptr cellStateOutHandle = - workloadFactory.CreateTensorHandle(cellStateInfo); - std::unique_ptr outputHandle = workloadFactory.CreateTensorHandle(outputStateInfo); - ARMNN_NO_DEPRECATE_WARN_END + tensorHandleFactory.CreateTensorHandle(cellStateInfo); + std::unique_ptr outputHandle = tensorHandleFactory.CreateTensorHandle(outputStateInfo); armnn::QuantizedLstmQueueDescriptor data; armnn::WorkloadInfo info; @@ -1746,6 +1744,7 @@ LayerTestResult QuantizedLstmTestImpl( LayerTestResult QLstmTestImpl( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, const boost::multi_array& input, const boost::multi_array& outputExpected) { @@ -1828,19 +1827,18 @@ LayerTestResult QLstmTestImpl( outputVector.assign(outputExpected.data(), outputExpected.data() + (numBatches * outputSize)); ret.outputExpected = MakeTensor(outputStateInfo, outputVector); - ARMNN_NO_DEPRECATE_WARN_BEGIN // Create tensor handles - std::unique_ptr inputHandle = workloadFactory.CreateTensorHandle(inputInfo); + std::unique_ptr inputHandle = tensorHandleFactory.CreateTensorHandle(inputInfo); std::unique_ptr cellStateInHandle = - workloadFactory.CreateTensorHandle(cellStateInfo); + tensorHandleFactory.CreateTensorHandle(cellStateInfo); std::unique_ptr outputStateInHandle = - workloadFactory.CreateTensorHandle(outputStateInfo); + tensorHandleFactory.CreateTensorHandle(outputStateInfo); - std::unique_ptr outputStateOutHandle = workloadFactory.CreateTensorHandle(outputStateInfo); + std::unique_ptr outputStateOutHandle = + tensorHandleFactory.CreateTensorHandle(outputStateInfo); std::unique_ptr cellStateOutHandle = - workloadFactory.CreateTensorHandle(cellStateInfo); - std::unique_ptr outputHandle = workloadFactory.CreateTensorHandle(outputStateInfo); - ARMNN_NO_DEPRECATE_WARN_END + tensorHandleFactory.CreateTensorHandle(cellStateInfo); + std::unique_ptr outputHandle = tensorHandleFactory.CreateTensorHandle(outputStateInfo); armnn::QLstmQueueDescriptor data; armnn::WorkloadInfo info; @@ -1984,6 +1982,7 @@ LayerTestResult QLstmTestImpl( LayerTestResult QLstmTestImpl1( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, const boost::multi_array& input, const boost::multi_array& outputExpected) { @@ -2068,19 +2067,18 @@ LayerTestResult QLstmTestImpl1( outputVector.assign(outputExpected.data(), outputExpected.data() + (numBatches * outputSize)); ret.outputExpected = MakeTensor(outputStateInfo, outputVector); - ARMNN_NO_DEPRECATE_WARN_BEGIN // Create tensor handles - std::unique_ptr inputHandle = workloadFactory.CreateTensorHandle(inputInfo); + std::unique_ptr inputHandle = tensorHandleFactory.CreateTensorHandle(inputInfo); std::unique_ptr cellStateInHandle = - workloadFactory.CreateTensorHandle(cellStateInfo); + tensorHandleFactory.CreateTensorHandle(cellStateInfo); std::unique_ptr outputStateInHandle = - workloadFactory.CreateTensorHandle(outputStateInfo); + tensorHandleFactory.CreateTensorHandle(outputStateInfo); - std::unique_ptr outputStateOutHandle = workloadFactory.CreateTensorHandle(outputStateInfo); + std::unique_ptr outputStateOutHandle = + tensorHandleFactory.CreateTensorHandle(outputStateInfo); std::unique_ptr cellStateOutHandle = - workloadFactory.CreateTensorHandle(cellStateInfo); - std::unique_ptr outputHandle = workloadFactory.CreateTensorHandle(outputStateInfo); - ARMNN_NO_DEPRECATE_WARN_END + tensorHandleFactory.CreateTensorHandle(cellStateInfo); + std::unique_ptr outputHandle = tensorHandleFactory.CreateTensorHandle(outputStateInfo); armnn::QLstmQueueDescriptor data; armnn::WorkloadInfo info; @@ -2256,6 +2254,7 @@ LayerTestResult QLstmTestImpl1( LayerTestResult QLstmTestImpl2( armnn::IWorkloadFactory& workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory, const boost::multi_array& input, const boost::multi_array& outputExpected) { @@ -2340,19 +2339,18 @@ LayerTestResult QLstmTestImpl2( outputVector.assign(outputExpected.data(), outputExpected.data() + (numBatches * outputSize)); ret.outputExpected = MakeTensor(outputStateInfo, outputVector); - ARMNN_NO_DEPRECATE_WARN_BEGIN // Create tensor handles - std::unique_ptr inputHandle = workloadFactory.CreateTensorHandle(inputInfo); + std::unique_ptr inputHandle = tensorHandleFactory.CreateTensorHandle(inputInfo); std::unique_ptr cellStateInHandle = - workloadFactory.CreateTensorHandle(cellStateInfo); + tensorHandleFactory.CreateTensorHandle(cellStateInfo); std::unique_ptr outputStateInHandle = - workloadFactory.CreateTensorHandle(outputStateInfo); + tensorHandleFactory.CreateTensorHandle(outputStateInfo); - std::unique_ptr outputStateOutHandle = workloadFactory.CreateTensorHandle(outputStateInfo); + std::unique_ptr outputStateOutHandle = + tensorHandleFactory.CreateTensorHandle(outputStateInfo); std::unique_ptr cellStateOutHandle = - workloadFactory.CreateTensorHandle(cellStateInfo); - std::unique_ptr outputHandle = workloadFactory.CreateTensorHandle(outputStateInfo); - ARMNN_NO_DEPRECATE_WARN_END + tensorHandleFactory.CreateTensorHandle(cellStateInfo); + std::unique_ptr outputHandle = tensorHandleFactory.CreateTensorHandle(outputStateInfo); armnn::QLstmQueueDescriptor data; armnn::WorkloadInfo info; @@ -2661,7 +2659,8 @@ void LstmUtilsVectorBatchVectorAddTest() LayerTestResult LstmLayerFloat32WithCifgWithPeepholeNoProjectionTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { armnn::TensorInfo inputDesc({ 2, 2 }, armnn::DataType::Float32); boost::multi_array input = MakeTensor(inputDesc, std::vector( @@ -2672,12 +2671,13 @@ LayerTestResult LstmLayerFloat32WithCifgWithPeepholeNoProjectionTest( {-0.36444446f, -0.00352185f, 0.12886585f, -0.05163646f, -0.42734814f, -0.00478661f, 0.13455015f, -0.03560682f})); return LstmLayerWithCifgWithPeepholeNoProjectionTestImpl( - workloadFactory, memoryManager, input, expectedOutput); + workloadFactory, memoryManager, tensorHandleFactory, input, expectedOutput); } LayerTestResult LstmLayerFloat32NoCifgWithPeepholeWithProjectionTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { armnn::TensorInfo inputDesc({ 2, 5 }, armnn::DataType::Float32); boost::multi_array input = MakeTensor(inputDesc, std::vector( @@ -2694,12 +2694,13 @@ LayerTestResult LstmLayerFloat32NoCifgWithPeepholeWithProjectionTest( 0.00223253f, -0.00957321f, 0.0210624f, 0.013331f, 0.0150954f, 0.02168f})); return LstmLayerNoCifgWithPeepholeWithProjectionTestImpl( - workloadFactory, memoryManager, input, expectedOutput); + workloadFactory, memoryManager, tensorHandleFactory, input, expectedOutput); } LayerTestResult LstmLayerFloat32NoCifgNoPeepholeNoProjectionTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { armnn::TensorInfo inputDesc({2, 2}, armnn::DataType::Float32); boost::multi_array input = MakeTensor(inputDesc, std::vector( @@ -2711,12 +2712,13 @@ LayerTestResult LstmLayerFloat32NoCifgNoPeepholeNoProjectionTest( -0.0185422f, 0.11281417f, 0.24466537f, -0.1826292f}})); return LstmNoCifgNoPeepholeNoProjectionTestImpl( - workloadFactory, memoryManager, input, expectedOutput); + workloadFactory, memoryManager, tensorHandleFactory, input, expectedOutput); } LayerTestResult LstmLayerFloat32NoCifgWithPeepholeWithProjectionWithLayerNormTest( - armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + armnn::IWorkloadFactory& workloadFactory, + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { armnn::TensorInfo inputDesc({ 2, 5 }, armnn::DataType::Float32); boost::multi_array input = MakeTensor(inputDesc, std::vector( @@ -2728,12 +2730,13 @@ LayerTestResult LstmLayerFloat32NoCifgWithPeepholeWithProjectionWithLa { 0.0244077f, 0.128027f, -0.00170918f, //batch 0 -0.00692428f, 0.0848741f, 0.063445f})); //batch 1 return LstmLayerNoCifgWithPeepholeWithProjectionWithLayerNormTestImpl( - workloadFactory, memoryManager, input, expectedOutput); + workloadFactory, memoryManager, tensorHandleFactory, input, expectedOutput); } LayerTestResult LstmLayerInt16NoCifgNoPeepholeNoProjectionTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { const float qScale = 1.0f; const int32_t qOffset = 0; @@ -2757,13 +2760,14 @@ LayerTestResult LstmLayerInt16NoCifgNoPeepholeNoProjectionTest( qScale, qOffset)); return LstmNoCifgNoPeepholeNoProjectionTestImpl( - workloadFactory, memoryManager, input, expectedOutput, qScale, qOffset, constantDatatype); + workloadFactory, memoryManager, tensorHandleFactory, input, expectedOutput, qScale, qOffset, constantDatatype); } LayerTestResult LstmLayerInt16WithCifgWithPeepholeNoProjectionTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { const float qScale = 1.0f; const int32_t qOffset = 0; @@ -2789,12 +2793,13 @@ LayerTestResult LstmLayerInt16WithCifgWithPeepholeNoProjectionTest( qScale, qOffset)); return LstmLayerWithCifgWithPeepholeNoProjectionTestImpl( - workloadFactory, memoryManager, input, expectedOutput, qScale, qOffset, constantDatatype); + workloadFactory, memoryManager, tensorHandleFactory, input, expectedOutput, qScale, qOffset, constantDatatype); } LayerTestResult LstmLayerInt16NoCifgWithPeepholeWithProjectionTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { const float qScale = 2.0f; const int32_t qOffset = 0; @@ -2831,12 +2836,13 @@ LayerTestResult LstmLayerInt16NoCifgWithPeepholeWithProjectionTest( qScale, qOffset)); return LstmLayerNoCifgWithPeepholeWithProjectionTestImpl( - workloadFactory, memoryManager, input, expectedOutput, qScale, qOffset, constantDatatype); + workloadFactory, memoryManager, tensorHandleFactory, input, expectedOutput, qScale, qOffset, constantDatatype); } LayerTestResult LstmLayerInt16NoCifgNoPeepholeNoProjectionInt16ConstantTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { const float qScale = 1.0f; const int32_t qOffset = 0; @@ -2860,7 +2866,7 @@ LayerTestResult LstmLayerInt16NoCifgNoPeepholeNoProjectionInt16Const qScale, qOffset)); return LstmNoCifgNoPeepholeNoProjectionTestImpl( - workloadFactory, memoryManager, input, expectedOutput, qScale, qOffset, datatype); + workloadFactory, memoryManager, tensorHandleFactory, input, expectedOutput, qScale, qOffset, datatype); } // @@ -2869,7 +2875,8 @@ LayerTestResult LstmLayerInt16NoCifgNoPeepholeNoProjectionInt16Const LayerTestResult QuantizedLstmTest( armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { armnn::TensorInfo inputDesc({2, 2}, armnn::DataType::QAsymmU8); boost::multi_array input = MakeTensor(inputDesc, std::vector( @@ -2879,13 +2886,14 @@ LayerTestResult QuantizedLstmTest( boost::multi_array expectedOutput = MakeTensor(outputDesc, std::vector( {140, 151, 146, 112, 136, 156, 142, 112 })); - return QuantizedLstmTestImpl(workloadFactory, memoryManager, input, expectedOutput); + return QuantizedLstmTestImpl(workloadFactory, memoryManager, tensorHandleFactory, input, expectedOutput); } // QLSTM LayerTestResult QLstmTest( - armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + armnn::IWorkloadFactory& workloadFactory, + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { armnn::TensorInfo inputDesc({2, 5}, armnn::DataType::QAsymmS8); boost::multi_array input = MakeTensor(inputDesc, std::vector( @@ -2895,12 +2903,13 @@ LayerTestResult QLstmTest( boost::multi_array expectedOutput = MakeTensor(outputDesc, std::vector( {-15, 21, 14, 20, -15, 15, 5, 27})); - return QLstmTestImpl(workloadFactory, memoryManager, input, expectedOutput); + return QLstmTestImpl(workloadFactory, memoryManager, tensorHandleFactory, input, expectedOutput); } LayerTestResult QLstmTest1( - armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + armnn::IWorkloadFactory& workloadFactory, + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { armnn::TensorInfo inputDesc({2, 5}, armnn::DataType::QAsymmS8); boost::multi_array input = MakeTensor(inputDesc, std::vector( @@ -2910,12 +2919,13 @@ LayerTestResult QLstmTest1( boost::multi_array expectedOutput = MakeTensor(outputDesc, std::vector( {127, 127, -108, -67, 127, 127})); - return QLstmTestImpl1(workloadFactory, memoryManager, input, expectedOutput); + return QLstmTestImpl1(workloadFactory, memoryManager, tensorHandleFactory, input, expectedOutput); } LayerTestResult QLstmTest2( - armnn::IWorkloadFactory& workloadFactory, - const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager) + armnn::IWorkloadFactory& workloadFactory, + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + const armnn::ITensorHandleFactory& tensorHandleFactory) { armnn::TensorInfo inputDesc({2, 5}, armnn::DataType::QAsymmS8); boost::multi_array input = MakeTensor(inputDesc, std::vector( @@ -2925,5 +2935,5 @@ LayerTestResult QLstmTest2( boost::multi_array expectedOutput = MakeTensor(outputDesc, std::vector( {127, 127, 127, -128, 127, 127})); - return QLstmTestImpl2(workloadFactory, memoryManager, input, expectedOutput); + return QLstmTestImpl2(workloadFactory, memoryManager, tensorHandleFactory, input, expectedOutput); } \ No newline at end of file -- cgit v1.2.1