aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFinn Williams <finwil01@e127804.cambridge.arm.com>2021-10-21 13:27:37 +0100
committerFinn Williams <finwil01@e127804.cambridge.arm.com>2021-10-21 14:26:46 +0100
commitfdb27e2c8875fa2bb354557d5291894fcb7940b0 (patch)
tree934c90b93c7eb20c5b604789abfeec905ae15c5e
parent4b536e323abd09da9630502a8fb7d0be50e1ad45 (diff)
downloadarmnn-fdb27e2c8875fa2bb354557d5291894fcb7940b0.tar.gz
IVGCVSW-6474 Fix calculation of BindingId vector size
Signed-off-by: Finn Williams <finwil01@e127804.cambridge.arm.com> Change-Id: If128ed0a8ed2b9a0ed8001715133ba5a6c6d682c
-rw-r--r--src/armnn/WorkingMemHandle.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/armnn/WorkingMemHandle.cpp b/src/armnn/WorkingMemHandle.cpp
index 7dde67372f..e2ad52a772 100644
--- a/src/armnn/WorkingMemHandle.cpp
+++ b/src/armnn/WorkingMemHandle.cpp
@@ -27,7 +27,6 @@ WorkingMemHandle::WorkingMemHandle(NetworkId networkId,
, m_WorkingMemDescriptorMap(workingMemDescriptorMap)
, m_MemoryManagers(memoryManagers)
, m_OwnedTensorHandles(std::move(ownedTensorHandles))
- , m_BindingIdVec(inputLayerInfo.size() + ouputLayerInfo.size())
, m_InputSize(numeric_cast<DifferenceType>(inputLayerInfo.size()))
, m_IsAllocated(false)
{
@@ -54,7 +53,7 @@ WorkingMemHandle::WorkingMemHandle(NetworkId networkId,
m_InputConnectionMap[inputInfo.m_LayerBindingId].push_back(inputPos);
}
}
-
+ size_t bindingIdCount = inputLayerInfo.size();
for (const auto& outputInfo : ouputLayerInfo)
{
for (auto bindingId : outputInfo.m_LayerBindingIds)
@@ -67,7 +66,7 @@ WorkingMemHandle::WorkingMemHandle(NetworkId networkId,
m_OutputHandleMap[bindingId] = *outputPos;
}
-
+ bindingIdCount += outputInfo.m_LayerBindingIds.size();
// More than one layerBinding id means the tensorhandle is connected to more than one OutputLayer.
// Importing in this case would likely cause unexpected behaviour, so we disallow it.
if (outputInfo.m_LayerBindingIds.size() != 1)
@@ -88,6 +87,7 @@ WorkingMemHandle::WorkingMemHandle(NetworkId networkId,
m_OutputConnectionMap[outputInfo.m_LayerBindingIds[0]].push_back(inputPos);
}
}
+ m_BindingIdVec = std::vector<LayerBindingId>(bindingIdCount);
}
void WorkingMemHandle::Allocate()