From de33dda47d4afec985dc84ebf9a7a18a5a27659c Mon Sep 17 00:00:00 2001 From: Cathal Corbett Date: Tue, 20 Sep 2022 16:40:09 +0100 Subject: IVGCVSW-7040 TfLiteParser fails to prepare model due to unspecified size buffer data for Slice operator. Signed-off-by: Cathal Corbett Change-Id: I86735faf8d57168a63ca6657f281ec03b90f7235 --- src/armnnTfLiteParser/TfLiteParser.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'src/armnnTfLiteParser') diff --git a/src/armnnTfLiteParser/TfLiteParser.cpp b/src/armnnTfLiteParser/TfLiteParser.cpp index 030420345e..a26f3e5f04 100644 --- a/src/armnnTfLiteParser/TfLiteParser.cpp +++ b/src/armnnTfLiteParser/TfLiteParser.cpp @@ -1841,8 +1841,14 @@ void TfLiteParserImpl::ParseSlice(size_t subgraphIndex, size_t operatorIndex) armnn::TensorInfo sizeTensorInfo = ToTensorInfo(inputs[2]); BufferRawPtr sizeBufferPtr = GetBuffer(m_Model, inputs[2]->buffer); - std::vector signedSize(sizeTensorInfo.GetNumElements()); - ::memcpy(signedSize.data(), sizeBufferPtr->data.data(), sizeTensorInfo.GetNumBytes()); + std::vector signedSize(sizeTensorInfo.GetNumElements(), 1); + + // if size buffer data is not specified, all contents of size vector remain as values of 1 + if (sizeBufferPtr->data.data()) + { + ::memcpy(signedSize.data(), sizeBufferPtr->data.data(), sizeTensorInfo.GetNumBytes()); + } + std::vector size(sizeTensorInfo.GetNumElements()); TensorInfo inputTensorInfo = ToTensorInfo(inputs[0]); -- cgit v1.2.1