diff options
author | Matthew Sloyan <matthew.sloyan@arm.com> | 2021-08-09 15:33:41 +0100 |
---|---|---|
committer | Matthew Sloyan <matthew.sloyan@arm.com> | 2021-08-09 21:51:27 +0100 |
commit | b20d1d4888c270d4d57a0bdcc011ded89a2f5b38 (patch) | |
tree | e4d5d3b5b5ae7ac0148c65e71d03ad9b2859df08 /src/armnn/Network.cpp | |
parent | cd92c9c3835f4e5d1677b3f3aaae9e49a62bd537 (diff) | |
download | armnn-b20d1d4888c270d4d57a0bdcc011ded89a2f5b38.tar.gz |
IVGCVSW-6119 ConstTensorsAsInput: FullyConnected Bug Fix
* Updated FullyConnected layer member variables when cloning as
some backends still require them.
* Added SetConstant call when using deprecated AddFullyConnectedLayer
method to ensure backwards compatibility.
* Added SetConstant to SimpleSample to ensure it runs on all backends.
Signed-off-by: Matthew Sloyan <matthew.sloyan@arm.com>
Change-Id: Ie7b4e4b868f23f8fcf9c41ffd12e2ea9ea53afca
Diffstat (limited to 'src/armnn/Network.cpp')
-rw-r--r-- | src/armnn/Network.cpp | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/armnn/Network.cpp b/src/armnn/Network.cpp index 22a71c4923..365f1bdfa1 100644 --- a/src/armnn/Network.cpp +++ b/src/armnn/Network.cpp @@ -1805,7 +1805,11 @@ IConnectableLayer* NetworkImpl::AddFullyConnectedLayer(const FullyConnectedDescr { weightsLayer = m_Graph->AddLayer<ConstantLayer>("Weights"); weightsLayer->m_LayerOutput = std::make_shared<ScopedTensorHandle>(weights.value()); - weightsLayer->GetOutputSlot(0).SetTensorInfo(weightsLayer->m_LayerOutput->GetTensorInfo()); + + TensorInfo weightsInfo = weightsLayer->m_LayerOutput->GetTensorInfo(); + weightsInfo.SetConstant(); + + weightsLayer->GetOutputSlot(0).SetTensorInfo(weightsInfo); } else if (fullyConnectedDescriptor.m_ConstantWeights) { @@ -1817,7 +1821,11 @@ IConnectableLayer* NetworkImpl::AddFullyConnectedLayer(const FullyConnectedDescr { biasLayer = m_Graph->AddLayer<ConstantLayer>("Biases"); biasLayer->m_LayerOutput = std::make_shared<ScopedTensorHandle>(biases.value()); - biasLayer->GetOutputSlot(0).SetTensorInfo(biasLayer->m_LayerOutput->GetTensorInfo()); + + TensorInfo biasInfo = biasLayer->m_LayerOutput->GetTensorInfo(); + biasInfo.SetConstant(); + + biasLayer->GetOutputSlot(0).SetTensorInfo(biasInfo); } if (numInputs < 2) |