diff options
author | Matthew Bentham <matthew.bentham@arm.com> | 2023-02-23 13:03:46 +0000 |
---|---|---|
committer | Francis Murtagh <francis.murtagh@arm.com> | 2023-02-28 12:36:12 +0000 |
commit | aeec3ce5c8f936fb1220a9de8c84cceef88d4080 (patch) | |
tree | 87e676cecdd4f81be53e33c484721f9448e313a2 /src/armnn/Layer.cpp | |
parent | 2a764ade6b5bf88cba0c43303291e0352ec3354c (diff) | |
download | armnn-aeec3ce5c8f936fb1220a9de8c84cceef88d4080.tar.gz |
Add constant version of IConnectableLayer::GetConstantTensorsByRef
This makes it easier to use, particularly in backends where it
is common to pass around const pointers to IConnectableLayer.
The non-constant version is rewritten to use the constant version.
Signed-off-by: Matthew Bentham <matthew.bentham@arm.com>
Change-Id: Id3a8384447e93c213299a85ade9a667df5960534
Diffstat (limited to 'src/armnn/Layer.cpp')
-rw-r--r-- | src/armnn/Layer.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/armnn/Layer.cpp b/src/armnn/Layer.cpp index 19337dca5c..3ccce40a19 100644 --- a/src/armnn/Layer.cpp +++ b/src/armnn/Layer.cpp @@ -538,6 +538,19 @@ void Layer::ExecuteStrategy(IStrategy& strategy) const strategy.ExecuteStrategy(this, BaseDescriptor(), {}, GetName()); } +Layer::ConstantTensors Layer::GetConstantTensorsByRef() +{ + const Layer *constThis = const_cast<const Layer*>(this); + ConstantTensors res; + + ImmutableConstantTensors immutableData = constThis->GetConstantTensorsByRef(); + for (auto i : immutableData) + { + res.push_back(const_cast<std::shared_ptr<ConstTensorHandle>&>(i.get())); + } + return res; +} + const IConnectableLayer& OutputSlot::GetOwningIConnectableLayer() const { return m_OwningLayer; |