aboutsummaryrefslogtreecommitdiff
path: root/tests/validation/fixtures
diff options
context:
space:
mode:
authorManuel Bottini <manuel.bottini@arm.com>2019-07-17 16:11:53 +0100
committerManuel Bottini <manuel.bottini@arm.com>2019-07-22 14:06:55 +0000
commit10c53f1ef317095ddcd9143bf759cc68ecb0e721 (patch)
tree644954b909692f1d6b4e20194e81708503a62c2b /tests/validation/fixtures
parentd176d54b94c5337c97bd87671ce390804da8c10b (diff)
downloadComputeLibrary-10c53f1ef317095ddcd9143bf759cc68ecb0e721.tar.gz
COMPMID-2307: QUANTIZED_16BIT_LSTM operator for CL
Change-Id: I1b52df359f1a368d585fac43a08496544dd2f86f Signed-off-by: Manuel Bottini <manuel.bottini@arm.com> Reviewed-on: https://review.mlplatform.org/c/1568 Tested-by: Arm Jenkins <bsgcomp@arm.com> Reviewed-by: Giuseppe Rossini <giuseppe.rossini@arm.com> Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Diffstat (limited to 'tests/validation/fixtures')
-rw-r--r--tests/validation/fixtures/DequantizationLayerFixture.h24
1 files changed, 19 insertions, 5 deletions
diff --git a/tests/validation/fixtures/DequantizationLayerFixture.h b/tests/validation/fixtures/DequantizationLayerFixture.h
index 15f3711189..2c8f05746d 100644
--- a/tests/validation/fixtures/DequantizationLayerFixture.h
+++ b/tests/validation/fixtures/DequantizationLayerFixture.h
@@ -92,32 +92,46 @@ protected:
SimpleTensor<T> compute_reference(const TensorShape &shape, DataType src_data_type)
{
- if(is_data_type_quantized_asymmetric(src_data_type))
+ if(src_data_type == DataType::QASYMM8)
{
SimpleTensor<uint8_t> src{ shape, src_data_type, 1, _quantization_info };
fill(src);
return reference::dequantization_layer<T>(src);
}
- else
+ else if(src_data_type == DataType::QSYMM8)
{
SimpleTensor<int8_t> src{ shape, src_data_type, 1, _quantization_info };
fill(src);
return reference::dequantization_layer<T>(src);
}
+ else if(src_data_type == DataType::QSYMM16)
+ {
+ SimpleTensor<int16_t> src{ shape, src_data_type, 1, _quantization_info };
+ fill(src);
+ return reference::dequantization_layer<T>(src);
+ }
+ else
+ {
+ ARM_COMPUTE_ERROR("Unsupported data type");
+ }
}
protected:
QuantizationInfo generate_quantization_info(DataType data_type)
{
- std::uniform_int_distribution<> distribution(1, 127);
std::mt19937 gen(library.get()->seed());
+ std::uniform_int_distribution<> distribution_scale_q8(1, 255);
+ std::uniform_int_distribution<> distribution_offset_q8(1, 127);
+ std::uniform_int_distribution<> distribution_scale_q16(1, 32768);
switch(data_type)
{
+ case DataType::QSYMM16:
+ return QuantizationInfo(1.f / distribution_scale_q16(gen));
case DataType::QSYMM8:
- return QuantizationInfo(1.f / distribution(gen));
+ return QuantizationInfo(1.f / distribution_scale_q8(gen));
case DataType::QASYMM8:
- return QuantizationInfo(1.f / distribution(gen), distribution(gen));
+ return QuantizationInfo(1.f / distribution_scale_q8(gen), distribution_offset_q8(gen));
default:
ARM_COMPUTE_ERROR("Unsupported data type");
}