diff options
author | Sadik Armagan <sadik.armagan@arm.com> | 2020-09-10 13:37:32 +0100 |
---|---|---|
committer | Ryan O'Shea <ryan.oshea2@arm.com> | 2020-09-10 18:04:17 +0000 |
commit | 045f6be924240a560293a3a7a0ecae49bcf0d1fa (patch) | |
tree | 3193fb35288ad8011cdfb9082d82085f48b6792b /src/armnn | |
parent | 08f4016b8ae8ee836fc813abcbc7db826924f3ec (diff) | |
download | armnn-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.cpp | 8 | ||||
-rw-r--r-- | src/armnn/Network.hpp | 4 |
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; }; |