aboutsummaryrefslogtreecommitdiff
path: root/src/armnn/DynamicQuantizationVisitor.cpp
diff options
context:
space:
mode:
authorMike Kelly <mike.kelly@arm.com>2020-01-20 17:18:18 +0000
committerJames Conroy <james.conroy@arm.com>2020-01-20 18:13:16 +0000
commitdcf041cfd67acff7ebd524008050b4e1a435c0e5 (patch)
tree95240464e7b7daff4a5a03d15e2a41d96f3e3dd3 /src/armnn/DynamicQuantizationVisitor.cpp
parent246bd463ca8050c727a92dba8426a2129ba6cb53 (diff)
downloadarmnn-dcf041cfd67acff7ebd524008050b4e1a435c0e5.tar.gz
IVGCVSW-4331 Calling RemoveDebugLayers can break connections
* Changed RemoveDebugLayers to move all connections from its OutputSlot. Signed-off-by: Mike Kelly <mike.kelly@arm.com> Change-Id: I3c649e3f660804ca48f3c2af993a5af6a7ed4d4a
Diffstat (limited to 'src/armnn/DynamicQuantizationVisitor.cpp')
-rw-r--r--src/armnn/DynamicQuantizationVisitor.cpp9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/armnn/DynamicQuantizationVisitor.cpp b/src/armnn/DynamicQuantizationVisitor.cpp
index ba87c6d335..4b1dce0b6f 100644
--- a/src/armnn/DynamicQuantizationVisitor.cpp
+++ b/src/armnn/DynamicQuantizationVisitor.cpp
@@ -63,13 +63,14 @@ void DynamicQuantizationVisitor::RemoveDebugLayers()
for (DebugLayer* debugLayer : m_DebugLayers)
{
OutputSlot& proceedingOutputSlot = *debugLayer->GetInputSlot(0).GetConnectedOutputSlot();
- InputSlot& succeedingInputSlot = *debugLayer->GetOutputSlot(0).GetConnection(0);
proceedingOutputSlot.Disconnect(debugLayer->GetInputSlot(0));
- debugLayer->GetOutputSlot(0).Disconnect(succeedingInputSlot);
+ for (InputSlot* succeedingInputSlot : debugLayer->GetOutputSlot(0).GetConnections())
+ {
+ debugLayer->GetOutputSlot(0).Disconnect(*succeedingInputSlot);
+ proceedingOutputSlot.Connect(*succeedingInputSlot);
+ }
m_Graph.EraseLayer(debugLayer);
-
- proceedingOutputSlot.Connect(succeedingInputSlot);
}
m_DebugLayers.clear();
}