aboutsummaryrefslogtreecommitdiff
path: root/src/backends/reference/workloads/RefFullyConnectedWorkload.cpp
diff options
context:
space:
mode:
authorMatthew Bentham <Matthew.Bentham@arm.com>2019-06-24 12:51:25 +0100
committerMatteo Martincigh <matteo.martincigh@arm.com>2019-07-02 09:19:19 +0000
commitc394a6d17008f876c73e94883f0c59aeedfe73f0 (patch)
tree211b8aaad05f52302354ffeff97a60ac1892ae83 /src/backends/reference/workloads/RefFullyConnectedWorkload.cpp
parent4cefc4135f7fbf5c2ba532a4f5b14d2811f9ed9e (diff)
downloadarmnn-c394a6d17008f876c73e94883f0c59aeedfe73f0.tar.gz
IVGCVSW-3307 Don't assume TensorInfo::Map() can be called before Execute()
Change-Id: I445c69d2e99d8c93622e739af61f721e61b0f90f Signed-off-by: Matthew Bentham <Matthew.Bentham@arm.com>
Diffstat (limited to 'src/backends/reference/workloads/RefFullyConnectedWorkload.cpp')
-rw-r--r--src/backends/reference/workloads/RefFullyConnectedWorkload.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/backends/reference/workloads/RefFullyConnectedWorkload.cpp b/src/backends/reference/workloads/RefFullyConnectedWorkload.cpp
index c7a3d901e7..ac82db90e5 100644
--- a/src/backends/reference/workloads/RefFullyConnectedWorkload.cpp
+++ b/src/backends/reference/workloads/RefFullyConnectedWorkload.cpp
@@ -34,11 +34,11 @@ void RefFullyConnectedWorkload::PostAllocationConfigure()
const TensorInfo& inputInfo = GetTensorInfo(m_Data.m_Inputs[0]);
BOOST_ASSERT(inputInfo.GetNumDimensions() > 1);
m_InputShape = inputInfo.GetShape();
- m_InputDecoder = MakeDecoder<float>(inputInfo, m_Data.m_Inputs[0]->Map());
+ m_InputDecoder = MakeDecoder<float>(inputInfo);
const TensorInfo& outputInfo = GetTensorInfo(m_Data.m_Outputs[0]);
m_OutputShape = outputInfo.GetShape();
- m_OutputEncoder = MakeEncoder<float>(outputInfo, m_Data.m_Outputs[0]->Map());
+ m_OutputEncoder = MakeEncoder<float>(outputInfo);
m_NumActivations = 1; // Total number of activations in the input.
for (unsigned int i = 1; i < inputInfo.GetNumDimensions(); i++)
@@ -51,6 +51,9 @@ void RefFullyConnectedWorkload::Execute() const
{
ARMNN_SCOPED_PROFILING_EVENT(Compute::CpuRef, "RefFullyConnectedWorkload_Execute");
+ m_InputDecoder->Reset(m_Data.m_Inputs[0]->Map());
+ m_OutputEncoder->Reset(m_Data.m_Outputs[0]->Map());
+
FullyConnected(m_InputShape,
*m_InputDecoder,
m_OutputShape,