diff options
author | Cathal Corbett <cathal.corbett@arm.com> | 2022-04-14 17:55:11 +0100 |
---|---|---|
committer | Cathal Corbett <cathal.corbett@arm.com> | 2022-05-05 16:10:06 +0000 |
commit | 0690265d83e5aa79bd174544a7b35330781619dd (patch) | |
tree | 2cb825017ee202ebcfa9c8428271a4dccaed72a4 /src/armnn/test/OptimizerTests.cpp | |
parent | 3a3a6bfaedc64fac3644c8fe88dbfc3947e2b3ab (diff) | |
download | armnn-0690265d83e5aa79bd174544a7b35330781619dd.tar.gz |
IVGCVSW-6127 ConstTensorsAsInput: DepthwiseConvolution2d
!android-nn-driver:7418
* Update Front-end and Tools.
* Updated Serializer, Deserializer and unit tests to reflect this.
* Updated TfLiteDelegate, TfLiteParser and OnnxParser.
* Change NNDriver to new API.
* Updated Ref.
* Neon and Cl backend partially completed (Backend.cpp files).
* Added dynamic or constant input EndToEnd tests.
* Added ConstantTensorAsInputMemeberVariableRedirect Optimization.
Signed-off-by: Cathal Corbett <cathal.corbett@arm.com>
Change-Id: Ib18b6c10a093042e165e25237dc04a4c67ba82da
Diffstat (limited to 'src/armnn/test/OptimizerTests.cpp')
-rw-r--r-- | src/armnn/test/OptimizerTests.cpp | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/src/armnn/test/OptimizerTests.cpp b/src/armnn/test/OptimizerTests.cpp index a7277b78b5..6a13dc6456 100644 --- a/src/armnn/test/OptimizerTests.cpp +++ b/src/armnn/test/OptimizerTests.cpp @@ -478,11 +478,10 @@ void CreateDepthwiseConvolution2dGraph(Graph &graph, const unsigned int* inputSh { armnn::TensorInfo inputInfo(4, inputShape, DataType::Float32); armnn::TensorInfo outputInfo(4, outputShape, DataType::Float32); + armnn::TensorInfo weightsInfo(TensorShape(4, weightsShape), armnn::DataType::Float32, 0.0f, 0, true); std::vector<float> weightsVector(18); - armnn::ConstTensor weights( - armnn::TensorInfo(4, weightsShape, armnn::DataType::Float32, 0.0f, 0, true), - weightsVector); + armnn::ConstTensor weights(weightsInfo, weightsVector); DepthwiseConvolution2dDescriptor desc; desc.m_BiasEnabled = false; @@ -490,15 +489,19 @@ void CreateDepthwiseConvolution2dGraph(Graph &graph, const unsigned int* inputSh desc.m_StrideY = 1; desc.m_DataLayout = dataLayout; - Layer* input = graph.AddLayer<InputLayer>(0, "input"); - input->GetOutputSlot().SetTensorInfo(inputInfo); - + InputLayer* input = graph.AddLayer<InputLayer>(0, "input"); DepthwiseConvolution2dLayer* layer = graph.AddLayer<DepthwiseConvolution2dLayer>(desc, "depthwiseConv2d"); - layer->m_Weight = std::make_unique<armnn::ScopedTensorHandle>(weights); + ConstantLayer* weightsLayer = graph.AddLayer<ConstantLayer>("weights"); + OutputLayer* output = graph.AddLayer<OutputLayer>(0, "output"); + + input->GetOutputSlot().SetTensorInfo(inputInfo); layer->GetOutputSlot().SetTensorInfo(outputInfo); + weightsLayer->GetOutputSlot().SetTensorInfo(weightsInfo); + + weightsLayer->m_LayerOutput = std::make_unique<armnn::ScopedTensorHandle>(weights); - Layer* output = graph.AddLayer<OutputLayer>(0, "output"); input->GetOutputSlot().Connect(layer->GetInputSlot(0)); + weightsLayer->GetOutputSlot().Connect(layer->GetInputSlot(1)); layer->GetOutputSlot().Connect(output->GetInputSlot(0)); } |