diff options
author | Manuel Bottini <manuel.bottini@arm.com> | 2020-01-30 17:30:32 +0000 |
---|---|---|
committer | Manuel Bottini <manuel.bottini@arm.com> | 2020-02-07 15:59:28 +0000 |
commit | 2f60221e60b69852918581b4eb450a0f81455a46 (patch) | |
tree | 25bed812a94b1dca4ec58e22f8d6a287b003106f /tests/validation/reference | |
parent | 0b18d9740f04cc4e9cb6000a76b9c1dcd8327e24 (diff) | |
download | ComputeLibrary-2f60221e60b69852918581b4eb450a0f81455a46.tar.gz |
COMPMID-3046: Add CLRequantizationLayerKernel
Change-Id: I034f5aa023642f2323372495ddd14fc62b4c12e0
Signed-off-by: Manuel Bottini <manuel.bottini@arm.com>
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/2681
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Giorgio Arena <giorgio.arena@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Diffstat (limited to 'tests/validation/reference')
-rw-r--r-- | tests/validation/reference/QuantizationLayer.cpp | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/tests/validation/reference/QuantizationLayer.cpp b/tests/validation/reference/QuantizationLayer.cpp index 8ba3744afc..cfc508529e 100644 --- a/tests/validation/reference/QuantizationLayer.cpp +++ b/tests/validation/reference/QuantizationLayer.cpp @@ -77,6 +77,41 @@ SimpleTensor<Tout> quantization_layer(const SimpleTensor<Tin> &src, DataType out return dst; } +template <> +SimpleTensor<uint8_t> quantization_layer(const SimpleTensor<uint8_t> &src, DataType output_data_type, const QuantizationInfo &quantization_info) +{ + SimpleTensor<float> src_tmp = convert_from_asymmetric<uint8_t>(src); + return quantization_layer<float, uint8_t>(src_tmp, output_data_type, quantization_info); +} + +template <> +SimpleTensor<int8_t> quantization_layer(const SimpleTensor<uint8_t> &src, DataType output_data_type, const QuantizationInfo &quantization_info) +{ + SimpleTensor<float> src_tmp = convert_from_asymmetric<uint8_t>(src); + return quantization_layer<float, int8_t>(src_tmp, output_data_type, quantization_info); +} + +template <> +SimpleTensor<uint8_t> quantization_layer(const SimpleTensor<int8_t> &src, DataType output_data_type, const QuantizationInfo &quantization_info) +{ + SimpleTensor<float> src_tmp = convert_from_asymmetric<int8_t>(src); + return quantization_layer<float, uint8_t>(src_tmp, output_data_type, quantization_info); +} + +template <> +SimpleTensor<int8_t> quantization_layer(const SimpleTensor<int8_t> &src, DataType output_data_type, const QuantizationInfo &quantization_info) +{ + SimpleTensor<float> src_tmp = convert_from_asymmetric<int8_t>(src); + return quantization_layer<float, int8_t>(src_tmp, output_data_type, quantization_info); +} + +template <> +SimpleTensor<uint16_t> quantization_layer(const SimpleTensor<uint8_t> &src, DataType output_data_type, const QuantizationInfo &quantization_info) +{ + SimpleTensor<float> src_tmp = convert_from_asymmetric<uint8_t>(src); + return quantization_layer<float, uint16_t>(src_tmp, output_data_type, quantization_info); +} + template SimpleTensor<int8_t> quantization_layer(const SimpleTensor<half> &src, DataType output_data_type, const QuantizationInfo &quantization_info); template SimpleTensor<int8_t> quantization_layer(const SimpleTensor<float> &src, DataType output_data_type, const QuantizationInfo &quantization_info); template SimpleTensor<uint8_t> quantization_layer(const SimpleTensor<half> &src, DataType output_data_type, const QuantizationInfo &quantization_info); |