26 template <
typename TensorHandleType = RefTensorHandle>
30 const TensorHandleType* refTensorHandle =
31 PolymorphicDowncast<const TensorHandleType*>(tensorHandle);
32 return refTensorHandle->GetTensorInfo();
35 template <
typename DataType,
typename PayloadType>
39 return reinterpret_cast<const DataType*
>(tensorHandle->
Map());
42 template <
typename DataType,
typename PayloadType>
46 return reinterpret_cast<DataType*
>(tensorHandle->
Map());
49 template <
typename DataType>
52 return reinterpret_cast<DataType*
>(tensorHandle->
Map());
55 template <
typename PayloadType>
58 return GetInputTensorData<float>(idx, data);
61 template <
typename PayloadType>
64 return GetOutputTensorData<float>(idx, data);
67 template <
typename PayloadType>
70 return GetInputTensorData<Half>(idx, data);
73 template <
typename PayloadType>
76 return GetOutputTensorData<Half>(idx, data);
79 template <
typename PayloadType>
82 return GetInputTensorData<BFloat16>(idx, data);
85 template <
typename PayloadType>
88 return GetOutputTensorData<BFloat16>(idx, data);
const BFloat16 * GetInputTensorDataBFloat16(unsigned int idx, const PayloadType &data)
const float * GetInputTensorDataFloat(unsigned int idx, const PayloadType &data)
float Dequantize(QuantizedType value, float scale, int32_t offset)
Dequantize an 8-bit data type into a floating point data type.
const DataType * GetInputTensorData(unsigned int idx, const PayloadType &data)
Half * GetOutputTensorDataHalf(unsigned int idx, const PayloadType &data)
Copyright (c) 2021 ARM Limited and Contributors.
const Half * GetInputTensorDataHalf(unsigned int idx, const PayloadType &data)
int32_t GetQuantizationOffset() const
float GetQuantizationScale() const
QuantizedType Quantize(float value, float scale, int32_t offset)
Quantize a floating point data type into an 8-bit data type.
virtual const void * Map(bool blocking=true) const =0
Map the tensor data for access.
DataType * GetOutputTensorData(unsigned int idx, const PayloadType &data)
float * GetOutputTensorDataFloat(unsigned int idx, const PayloadType &data)
BFloat16 * GetOutputTensorDataBFloat16(unsigned int idx, const PayloadType &data)
unsigned int GetNumElements() const
const TensorInfo & GetTensorInfo(const ITensorHandle *tensorHandle)
float32 helpers