diff options
author | Matthew Bentham <Matthew.Bentham@arm.com> | 2019-06-24 12:51:25 +0100 |
---|---|---|
committer | Matteo Martincigh <matteo.martincigh@arm.com> | 2019-07-02 09:19:19 +0000 |
commit | c394a6d17008f876c73e94883f0c59aeedfe73f0 (patch) | |
tree | 211b8aaad05f52302354ffeff97a60ac1892ae83 /src/backends/reference/workloads/RefFullyConnectedWorkload.cpp | |
parent | 4cefc4135f7fbf5c2ba532a4f5b14d2811f9ed9e (diff) | |
download | armnn-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.cpp | 7 |
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, |