diff options
author | Mike Kelly <mike.kelly@arm.com> | 2020-01-20 17:18:18 +0000 |
---|---|---|
committer | James Conroy <james.conroy@arm.com> | 2020-01-20 18:13:16 +0000 |
commit | dcf041cfd67acff7ebd524008050b4e1a435c0e5 (patch) | |
tree | 95240464e7b7daff4a5a03d15e2a41d96f3e3dd3 /src/armnn/DynamicQuantizationVisitor.cpp | |
parent | 246bd463ca8050c727a92dba8426a2129ba6cb53 (diff) | |
download | armnn-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.cpp | 9 |
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(); } |