18 inline std::unique_ptr<Encoder<T>>
MakeEncoder(
const TensorInfo& info,
void* data =
nullptr);
27 return std::make_unique<QASymmS8Encoder>(
28 static_cast<int8_t*
>(data),
34 return std::make_unique<QASymm8Encoder>(
35 static_cast<uint8_t*
>(data),
44 return std::make_unique<QSymm8PerAxisEncoder>(
45 static_cast<int8_t*
>(data),
51 return std::make_unique<QSymmS8Encoder>(
52 static_cast<int8_t*
>(data),
59 return std::make_unique<QSymm16Encoder>(
60 static_cast<int16_t*
>(data),
66 return std::make_unique<Int32Encoder>(
static_cast<int32_t*
>(data));
70 return std::make_unique<BFloat16Encoder>(
static_cast<armnn::BFloat16*
>(data));
74 return std::make_unique<Float16Encoder>(
static_cast<Half*
>(data));
78 return std::make_unique<Float32Encoder>(
static_cast<float*
>(data));
96 return std::make_unique<BooleanEncoder>(
static_cast<uint8_t*
>(data));
100 ARMNN_ASSERT_MSG(
false,
"Cannot encode from boolean. Not supported target Data Type!");
114 return std::make_unique<Int32ToInt32tEncoder>(
static_cast<int32_t*
>(data));
bool HasPerAxisQuantization() const
std::pair< unsigned int, std::vector< float > > GetPerAxisParams(const armnn::TensorInfo &info)
Copyright (c) 2021 ARM Limited and Contributors.
#define ARMNN_ASSERT_MSG(COND, MSG)
int32_t GetQuantizationOffset() const
float GetQuantizationScale() const
DataType GetDataType() const
std::unique_ptr< Encoder< T > > MakeEncoder(const TensorInfo &info, void *data=nullptr)