diff options
author | Keith Davis <keith.davis@arm.com> | 2022-09-28 17:13:20 +0100 |
---|---|---|
committer | Colm Donelan <colm.donelan@arm.com> | 2022-10-04 09:02:08 +0000 |
commit | 71ebf5f0b94cbe5ac3abcc6e8de8ce10753eba99 (patch) | |
tree | e57f6c4445edf5a7c24ce839491c0d4b30d3eed5 /src/armnn/Network.cpp | |
parent | cddfc28cc65386541b92dfa4a16321a276dba99d (diff) | |
download | armnn-71ebf5f0b94cbe5ac3abcc6e8de8ce10753eba99.tar.gz |
MLCE-545 INT8 TFLite model execution abnormal
* Fix for Debug mode in ExNet does not work with ConstTensorsAsInputs
* Remove unnecessary assertion with ambiguous message in LoadedNetwork
Signed-off-by: Keith Davis <keith.davis@arm.com>
Change-Id: I9cd5d1f811dbbc89072d1190c510bf1b22e3069c
Diffstat (limited to 'src/armnn/Network.cpp')
-rw-r--r-- | src/armnn/Network.cpp | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/src/armnn/Network.cpp b/src/armnn/Network.cpp index 3508ee882e..5930805f11 100644 --- a/src/armnn/Network.cpp +++ b/src/armnn/Network.cpp @@ -1797,6 +1797,17 @@ IOptimizedNetworkPtr Optimize(const Graph& inGraph, throw InvalidArgumentException("Failed to apply the backend-specific optimizations"); } + // Convert constants + { + ARMNN_SCOPED_PROFILING_EVENT(Compute::Undefined, "Optimizer_ConvertConstants"); + Optimizer::Pass(optGraph, MakeOptimizations(ConvertConstantsFloatToHalf())); + Optimizer::Pass(optGraph, MakeOptimizations(ConvertConstantsHalfToFloat())); + + // Once the constants are converted we can now safely call RedirectMembersToConstantInputs + Optimizer::Pass(optGraph, MakeOptimizations(RedirectMembersToConstantInputs())); + } + + // This must occur after all topological changes to the graph and any redirection of variables // If the debug flag is set, then insert a DebugLayer after each layer // Doing this after applying the backend optimizations as they might have changed some layers if (options.m_Debug) @@ -1824,15 +1835,6 @@ IOptimizedNetworkPtr Optimize(const Graph& inGraph, optGraph.AddCompatibilityLayers(backends, tensorHandleFactoryRegistry); } - // Convert constants - { - ARMNN_SCOPED_PROFILING_EVENT(Compute::Undefined, "Optimizer_ConvertConstants"); - Optimizer::Pass(optGraph, MakeOptimizations(ConvertConstantsFloatToHalf())); - Optimizer::Pass(optGraph, MakeOptimizations(ConvertConstantsHalfToFloat())); - - // Once the constants are converted we can now safely call RedirectMembersToConstantInputs - Optimizer::Pass(optGraph, MakeOptimizations(RedirectMembersToConstantInputs())); - } return optNet; } |