MCPcopy Create free account
hub / github.com/ARM-software/armnn / CreateConstTensorInfo

Method CreateConstTensorInfo

src/armnnSerializer/Serializer.cpp:1957–2015  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1955}
1956
1957flatbuffers::Offset<serializer::ConstTensor>
1958 SerializerStrategy::CreateConstTensorInfo(const armnn::ConstTensor& constTensor)
1959{
1960 armnn::TensorInfo tensorInfo = constTensor.GetInfo();
1961
1962 flatbuffers::Offset<void> fbPayload;
1963
1964 switch (tensorInfo.GetDataType())
1965 {
1966 case armnn::DataType::Signed64:
1967 {
1968 auto fbVector = CreateDataVector<int64_t>(constTensor.GetMemoryArea(), constTensor.GetNumBytes());
1969 flatbuffers::Offset<serializer::LongData> flatBuffersData = serializer::CreateLongData(
1970 m_flatBufferBuilder,
1971 fbVector);
1972 fbPayload = flatBuffersData.o;
1973 break;
1974 }
1975 case armnn::DataType::Float32:
1976 case armnn::DataType::Signed32:
1977 {
1978 auto fbVector = CreateDataVector<int32_t>(constTensor.GetMemoryArea(), constTensor.GetNumBytes());
1979 flatbuffers::Offset<serializer::IntData> flatBuffersData = serializer::CreateIntData(
1980 m_flatBufferBuilder,
1981 fbVector);
1982 fbPayload = flatBuffersData.o;
1983 break;
1984 }
1985 case armnn::DataType::Float16:
1986 case armnn::DataType::BFloat16:
1987 case armnn::DataType::QSymmS16:
1988 {
1989 auto fbVector = CreateDataVector<int16_t>(constTensor.GetMemoryArea(), constTensor.GetNumBytes());
1990 flatbuffers::Offset<serializer::ShortData> flatBuffersData = serializer::CreateShortData(
1991 m_flatBufferBuilder,
1992 fbVector);
1993 fbPayload = flatBuffersData.o;
1994 break;
1995 }
1996 case armnn::DataType::QSymmS8:
1997 case armnn::DataType::QAsymmS8:
1998 case armnn::DataType::QAsymmU8:
1999 case armnn::DataType::Boolean:
2000 default:
2001 {
2002 auto fbVector = CreateDataVector<int8_t>(constTensor.GetMemoryArea(), constTensor.GetNumBytes());
2003 flatbuffers::Offset<serializer::ByteData> flatBuffersData = serializer::CreateByteData(
2004 m_flatBufferBuilder,
2005 fbVector);
2006 fbPayload = flatBuffersData.o;
2007 }
2008 }
2009 flatbuffers::Offset<serializer::ConstTensor> flatBufferConstTensor = serializer::CreateConstTensor(
2010 m_flatBufferBuilder,
2011 CreateTensorInfo(tensorInfo),
2012 GetFlatBufferConstTensorData(tensorInfo.GetDataType()),
2013 fbPayload);
2014 return flatBufferConstTensor;

Callers

nothing calls this directly

Calls 5

GetMemoryAreaMethod · 0.80
CreateConstTensorFunction · 0.50
GetDataTypeMethod · 0.45
GetNumBytesMethod · 0.45

Tested by

no test coverage detected