From c0761e9a82ec4d6bd4a81fda018d624659b629a7 Mon Sep 17 00:00:00 2001 From: Jan Eilers Date: Mon, 29 Jun 2020 16:48:44 +0100 Subject: IVGCVSW-5021 Fix failure in SplitV Signed-off-by: Jan Eilers Change-Id: I587f601d3e1b9ea11fbc3dc379f24c5ebdcf3cf8 --- src/armnnTfLiteParser/TfLiteParser.cpp | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) (limited to 'src/armnnTfLiteParser/TfLiteParser.cpp') diff --git a/src/armnnTfLiteParser/TfLiteParser.cpp b/src/armnnTfLiteParser/TfLiteParser.cpp index 1737da8616..7f68199368 100644 --- a/src/armnnTfLiteParser/TfLiteParser.cpp +++ b/src/armnnTfLiteParser/TfLiteParser.cpp @@ -2689,7 +2689,7 @@ void TfLiteParser::ParseSplitV(size_t subgraphIndex, size_t operatorIndex) boost::str( boost::format( "The number of dimensions: %1% for input tensors of the " - "split op cannot be greater than %2% %3%") + "SplitV op cannot be greater than %2% %3%") % inputTensorInfo.GetNumDimensions() % MaxNumOfTensorDimensions % CHECK_LOCATION().AsString())); @@ -2703,7 +2703,6 @@ void TfLiteParser::ParseSplitV(size_t subgraphIndex, size_t operatorIndex) // Set split sizes CHECK_VALID_SIZE(splitsInfo.GetNumDimensions(), 1); - std::vector splitsData(0); unsigned int numSplits{0}; if(options) @@ -2720,17 +2719,11 @@ void TfLiteParser::ParseSplitV(size_t subgraphIndex, size_t operatorIndex) throw ParseException("SplitV has invalid number of splits"); } - splitsData.resize(numSplits); + std::vector splitsData(numSplits); BufferRawPtr splitsBufferPtr = GetBuffer(m_Model, splitsTensor->buffer); - unsigned int idx{0}; - - for(auto& split: splitsData) - { - split = splitsBufferPtr->data[idx]; - idx++; - } + ::memcpy(splitsData.data(), splitsBufferPtr->data.data(), splitsInfo.GetNumBytes()); - idx = 0; + unsigned int idx = 0; int numInferred{0}; unsigned int inferIdx{0}; int splitSum{0}; -- cgit v1.2.1