From 0176fd81b3f6a82ddc89e016cb634010f5397425 Mon Sep 17 00:00:00 2001 From: Keith Davis Date: Tue, 1 Jun 2021 17:36:32 +0100 Subject: MLCE-510 Add CpuRef Shape Operator to ArmNN * Add TfLiteParser and delegate support Signed-off-by: Keith Davis Change-Id: Id3219ba7cc7128b5e73de2c7d8d076a40dcce9c5 --- src/armnnTfLiteParser/TfLiteParser.cpp | 36 ++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) (limited to 'src/armnnTfLiteParser/TfLiteParser.cpp') diff --git a/src/armnnTfLiteParser/TfLiteParser.cpp b/src/armnnTfLiteParser/TfLiteParser.cpp index 26c44a9f35..f38f45fcdf 100644 --- a/src/armnnTfLiteParser/TfLiteParser.cpp +++ b/src/armnnTfLiteParser/TfLiteParser.cpp @@ -648,6 +648,7 @@ TfLiteParserImpl::TfLiteParserImpl(const OptionalAddShapeLayer(layerName.c_str()); + ARMNN_ASSERT(layer != nullptr); + + + TensorInfo outputTensorInfo = ToTensorInfo(outputs[0], true); + layer->GetOutputSlot(0).SetTensorInfo(outputTensorInfo); + + // Check if output tensor type is Signed32 or Signed64 + if (outputTensorInfo.GetDataType() != armnn::DataType::Signed32 && + outputTensorInfo.GetDataType() != armnn::DataType::Signed64) + { + throw ParseException( + fmt::format( + "Output tensor data type is not supported. (Supported types: Signed32 & Signed64) {}", + CHECK_LOCATION().AsString())); + } + + auto inputTensorIndexes = AsUnsignedVector(GetInputTensorIds(m_Model, subgraphIndex, operatorIndex)); + RegisterInputSlots(subgraphIndex, operatorIndex, layer, {inputTensorIndexes[0]}); + + auto outputTensorIndexes = AsUnsignedVector(GetOutputTensorIds(m_Model, subgraphIndex, operatorIndex)); + RegisterOutputSlots(subgraphIndex, operatorIndex, layer, outputTensorIndexes); +} + void TfLiteParserImpl::ParseSqueeze(size_t subgraphIndex, size_t operatorIndex) { CHECK_MODEL(m_Model, subgraphIndex, operatorIndex); -- cgit v1.2.1