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>
45 ITensorHandle* tensorHandle = data.m_Outputs[idx];
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);
98 std::vector<float> ret(
info.GetNumElements());
99 for (
size_t i = 0; i <
info.GetNumElements(); i++)
109 for (
unsigned int i = 0; i <
info.GetNumElements(); i++)
111 outputData[i] = Dequantize<T>(inputData[i],
info.GetQuantizationScale(),
info.GetQuantizationOffset());
117 for (
size_t i = 0; i <
info.GetNumElements(); i++)
119 quant[i] = armnn::Quantize<uint8_t>(dequant[i],
info.GetQuantizationScale(),
info.GetQuantizationOffset());