IVGCVSW-6527 Support the new memory API in loaded network
* enable external memory management for neon and ref backends
* change m_TensorMemoryVector to hold shared pointers
* change input layer backend Id to match backend id of connected layer
Signed-off-by: Finn Williams <finn.williams@arm.com>
Change-Id: I2216a724028312eb101b290df3f224177826b1a0
diff --git a/src/armnn/Network.cpp b/src/armnn/Network.cpp
index e00dbfc..17a1da1 100644
--- a/src/armnn/Network.cpp
+++ b/src/armnn/Network.cpp
@@ -934,6 +934,11 @@
{
auto layer = *it;
+ if (layer->GetType() == LayerType::Input)
+ {
+ continue;
+ }
+
DataType dataTypeIn = layer->GetNumInputSlots() == 0 ? DataType::Float32 :
layer->GetInputSlot(0).GetConnectedOutputSlot()->GetTensorInfo().GetDataType();
DataType dataTypeOut = layer->GetNumOutputSlots() == 0 ? DataType::Float32 :
@@ -1027,6 +1032,17 @@
}
}
+ for (auto it = firstLayer; it != lastLayer; ++it)
+ {
+ auto layer = *it;
+
+ if(layer->GetType() == LayerType::Input)
+ {
+ BackendId connectedBackendId = layer->GetOutputSlot(0).GetConnection(0)->GetOwningLayer().GetBackendId();
+ layer->SetBackendId(connectedBackendId);
+ }
+ }
+
return result;
}