aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKeith Davis <keith.davis@arm.com>2022-10-19 14:53:05 +0100
committerKeith Davis <keith.davis@arm.com>2022-10-19 14:53:14 +0100
commitf63b457c48fa2aeb01d8cff52475d23e5644f8f4 (patch)
treeb2028a49e60412234020b878951df1e53d990baf
parent15f9c68adef324cd0158cea3d021c0f6bef5eecf (diff)
downloadarmnn-f63b457c48fa2aeb01d8cff52475d23e5644f8f4.tar.gz
MLCE-545 INT8 TFLite model execution abnormal
* Bug fix where files were being overwritten at each debug layer Signed-off-by: Keith Davis <keith.davis@arm.com> Change-Id: I609fdc82afcee925824efb02183c7dbc942fced0
-rw-r--r--src/armnn/Network.cpp3
-rw-r--r--src/backends/backendsCommon/test/layerTests/DebugTestImpl.cpp3
-rw-r--r--src/backends/reference/workloads/Debug.cpp5
3 files changed, 9 insertions, 2 deletions
diff --git a/src/armnn/Network.cpp b/src/armnn/Network.cpp
index bb6eb19fa3..d3ce7ab62c 100644
--- a/src/armnn/Network.cpp
+++ b/src/armnn/Network.cpp
@@ -11,6 +11,7 @@
#include "SubgraphViewSelector.hpp"
#include "BackendSettings.hpp"
#include "optimizations/All.hpp"
+#include "armnnUtils/Filesystem.hpp"
#include <armnn/backends/TensorHandle.hpp>
#include <armnn/backends/WorkloadFactory.hpp>
@@ -1816,6 +1817,8 @@ IOptimizedNetworkPtr Optimize(const Graph& inGraph,
}
else if (options.m_DebugToFile)
{
+ // Setup the output file path
+ armnnUtils::Filesystem::CreateDirectory("/ArmNNIntermediateLayerOutputs");
Optimizer::Pass(optGraph, MakeOptimizations(InsertDebugToFileLayer()));
}
diff --git a/src/backends/backendsCommon/test/layerTests/DebugTestImpl.cpp b/src/backends/backendsCommon/test/layerTests/DebugTestImpl.cpp
index fa9a825313..e2fa8dbf5a 100644
--- a/src/backends/backendsCommon/test/layerTests/DebugTestImpl.cpp
+++ b/src/backends/backendsCommon/test/layerTests/DebugTestImpl.cpp
@@ -70,7 +70,10 @@ LayerTestResult<T, Dim> DebugTestImpl(
if (toFile)
{
+ // Given that this is dependent on an ExNet switch, we need to explicitly set the directory that the
+ // files are stored in as this happens within the ExNet flow
fs::path tmpDir = fs::temp_directory_path();
+ armnnUtils::Filesystem::CreateDirectory("/ArmNNIntermediateLayerOutputs");
std::string full_path = tmpDir.generic_string() + "/ArmNNIntermediateLayerOutputs/" + layerName + ".numpy";
ExecuteWorkload(*workload, memoryManager);
diff --git a/src/backends/reference/workloads/Debug.cpp b/src/backends/reference/workloads/Debug.cpp
index fdadfef590..f4f9792fc1 100644
--- a/src/backends/reference/workloads/Debug.cpp
+++ b/src/backends/reference/workloads/Debug.cpp
@@ -103,9 +103,10 @@ void Debug(const TensorInfo& inputInfo,
{
if (outputsToFile)
{
- auto rootPathToFile = armnnUtils::Filesystem::CreateDirectory("/ArmNNIntermediateLayerOutputs");
- std::ofstream out(rootPathToFile + layerName + ".numpy");
+ fs::path tmpDir = fs::temp_directory_path();
+ std::ofstream out(tmpDir.generic_string() + "/ArmNNIntermediateLayerOutputs/" + layerName + ".numpy");
PrintOutput<T>(inputInfo, inputData, guid, layerName, slotIndex, out);
+ out.close();
}
else
{