Float32 = 1,
QuantisedAsymm8 = 2,
Signed32 = 3,
- Boolean = 4
+ Boolean = 4,
+ QuantisedSymm16 = 5
};
enum class DataLayout
case DataType::Float32:
case DataType::Signed32: return 4U;
case DataType::QuantisedAsymm8: return 1U;
+ case DataType::QuantisedSymm16: return 2U;
case DataType::Boolean: return 1U;
default: return 0U;
}
case DataType::Float16: return "Float16";
case DataType::Float32: return "Float32";
case DataType::QuantisedAsymm8: return "Unsigned8";
+ case DataType::QuantisedSymm16: return "Signed16";
case DataType::Signed32: return "Signed32";
case DataType::Boolean: return "Boolean";
}
template<>
+inline bool CompatibleTypes<int16_t>(DataType dataType)
+{
+ return dataType == DataType::QuantisedSymm16;
+}
+
+template<>
inline bool CompatibleTypes<int32_t>(DataType dataType)
{
return dataType == DataType::Signed32;
};
template<>
+struct ResolveTypeImpl<DataType::QuantisedSymm16>
+{
+ using Type = int16_t;
+};
+
+template<>
struct ResolveTypeImpl<DataType::Signed32>
{
using Type = int32_t;
case DataType_QuantisedAsymm8:
type = armnn::DataType::QuantisedAsymm8;
break;
+ case DataType_QuantisedSymm16:
+ type = armnn::DataType::QuantisedSymm16;
+ break;
case DataType_Signed32:
type = armnn::DataType::Signed32;
break;
Float32 = 1,
QuantisedAsymm8 = 2,
Signed32 = 3,
- Boolean = 4
+ Boolean = 4,
+ QuantisedSymm16 = 5
}
enum DataLayout : byte {
fbPayload = flatBuffersData.o;
break;
}
+ case armnn::DataType::QuantisedSymm16:
+ {
+ auto fbVector = CreateDataVector<int16_t>(constTensor.GetMemoryArea(), constTensor.GetNumBytes());
+ flatbuffers::Offset<serializer::ShortData> flatBuffersData = serializer::CreateShortData(
+ m_flatBufferBuilder,
+ fbVector);
+ fbPayload = flatBuffersData.o;
+ break;
+ }
case armnn::DataType::QuantisedAsymm8:
case armnn::DataType::Boolean:
default: