aboutsummaryrefslogtreecommitdiff
path: root/src/armnn
diff options
context:
space:
mode:
authorSadik Armagan <sadik.armagan@arm.com>2020-09-10 13:37:32 +0100
committerRyan O'Shea <ryan.oshea2@arm.com>2020-09-10 18:04:17 +0000
commit045f6be924240a560293a3a7a0ecae49bcf0d1fa (patch)
tree3193fb35288ad8011cdfb9082d82085f48b6792b /src/armnn
parent08f4016b8ae8ee836fc813abcbc7db826924f3ec (diff)
downloadarmnn-045f6be924240a560293a3a7a0ecae49bcf0d1fa.tar.gz
IVGCVSW-5156 Introduce ModelOptions to OptimizedNetwork
* Introduced ModelOptions to IBackendInternal * Introduced ModelOptions to Network * Added FastMathEnabled parameter to Conv2d Validate function in CL and NEON * Added Optimizer tests Signed-off-by: Ryan OShea <Ryan.OShea2@arm.com> Signed-off-by: Sadik Armagan <sadik.armagan@arm.com> Change-Id: Ib54c1e82cb3d89a52756ed499cf91b6a7fdb2063
Diffstat (limited to 'src/armnn')
-rw-r--r--src/armnn/Network.cpp8
-rw-r--r--src/armnn/Network.hpp4
2 files changed, 11 insertions, 1 deletions
diff --git a/src/armnn/Network.cpp b/src/armnn/Network.cpp
index 84997a61e7..17813a8983 100644
--- a/src/armnn/Network.cpp
+++ b/src/armnn/Network.cpp
@@ -1030,7 +1030,8 @@ IOptimizedNetworkPtr Optimize(const INetwork& inNetwork,
const Network& network = *PolymorphicDowncast<const Network*>(&inNetwork);
std::unique_ptr<Graph> graph = std::make_unique<Graph>(network.GetGraph());
- auto optNet = IOptimizedNetworkPtr(new OptimizedNetwork(std::move(graph)), &IOptimizedNetwork::Destroy);
+ auto optNet = IOptimizedNetworkPtr(new OptimizedNetwork(std::move(graph), options.m_ModelOptions),
+ &IOptimizedNetwork::Destroy);
OptimizedNetwork* optNetObjPtr = PolymorphicDowncast<OptimizedNetwork*>(optNet.get());
@@ -2008,6 +2009,11 @@ OptimizedNetwork::OptimizedNetwork(std::unique_ptr<Graph> graph)
{
}
+OptimizedNetwork::OptimizedNetwork(std::unique_ptr<Graph> graph, const ModelOptions& modelOptions)
+ : m_Graph(std::move(graph)), m_Guid(profiling::ProfilingService::GetNextGuid()), m_ModelOptions(modelOptions)
+{
+}
+
OptimizedNetwork::~OptimizedNetwork()
{
}
diff --git a/src/armnn/Network.hpp b/src/armnn/Network.hpp
index 7136ee4d32..b09ac450d5 100644
--- a/src/armnn/Network.hpp
+++ b/src/armnn/Network.hpp
@@ -273,12 +273,14 @@ private:
NetworkOptions m_NetworkOptions;
std::unique_ptr<Graph> m_Graph;
+ ModelOptions m_ModelOptions;
};
class OptimizedNetwork final : public IOptimizedNetwork
{
public:
OptimizedNetwork(std::unique_ptr<Graph> graph);
+ OptimizedNetwork(std::unique_ptr<Graph> graph, const ModelOptions& modelOptions);
~OptimizedNetwork();
Status PrintGraph() override;
@@ -287,10 +289,12 @@ public:
profiling::ProfilingGuid GetGuid() const final { return m_Guid; };
Graph& GetGraph() { return *m_Graph; }
+ ModelOptions& GetModelOptions() { return m_ModelOptions; }
private:
std::unique_ptr<Graph> m_Graph;
profiling::ProfilingGuid m_Guid;
+ ModelOptions m_ModelOptions;
};