diff options
author | Michele Di Giorgio <michele.digiorgio@arm.com> | 2018-09-26 14:39:39 +0100 |
---|---|---|
committer | Anthony Barbier <anthony.barbier@arm.com> | 2018-11-02 16:55:19 +0000 |
commit | 3f6a57a39ca1d19e737d169fd43766243bde4a92 (patch) | |
tree | d9f55119291e53dc82597952be103594d497ab46 /tests/validation/fixtures/NormalizePlanarYUVLayerFixture.h | |
parent | 932491f44d51940d82514417a82e43cb11b06bd4 (diff) | |
download | ComputeLibrary-3f6a57a39ca1d19e737d169fd43766243bde4a92.tar.gz |
COMPMID-1599: (Nightly) CL/NormalizePlanarYUVLayer/Quantized/QASYMM8 mismatches
Fixing bounds of random values for Normalize Planar YUV tests when using
QASYMM8.
Furthermore, since 70d252d8b4 a QASYMM8 implementation of Batch Normalization
would have been tested with tensors filled with all 1s. This patch removes that
as QASYMM8 Batch Normalization is not supported.
Change-Id: Ieab83ed36b2d7af760ceb19a07d1eedcc991957f
Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/150492
Reviewed-by: Isabella Gottardi <isabella.gottardi@arm.com>
Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
Tested-by: bsgcomp <bsgcomp@arm.com>
Diffstat (limited to 'tests/validation/fixtures/NormalizePlanarYUVLayerFixture.h')
-rw-r--r-- | tests/validation/fixtures/NormalizePlanarYUVLayerFixture.h | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/tests/validation/fixtures/NormalizePlanarYUVLayerFixture.h b/tests/validation/fixtures/NormalizePlanarYUVLayerFixture.h index 9d8c8fcbce..3bb935e49f 100644 --- a/tests/validation/fixtures/NormalizePlanarYUVLayerFixture.h +++ b/tests/validation/fixtures/NormalizePlanarYUVLayerFixture.h @@ -58,20 +58,24 @@ protected: { if(is_data_type_float(_data_type)) { - float min_bound = 0.f; - float max_bound = 0.f; - std::tie(min_bound, max_bound) = get_normalize_planar_yuv_layer_test_bounds<T>(); + const float min_bound = -1.f; + const float max_bound = 1.f; std::uniform_real_distribution<> distribution(min_bound, max_bound); std::uniform_real_distribution<> distribution_std(0.1, max_bound); library->fill(src_tensor, distribution, 0); library->fill(mean_tensor, distribution, 1); library->fill(std_tensor, distribution_std, 2); } - else if(is_data_type_quantized_asymmetric(src_tensor.data_type())) + else if(is_data_type_quantized_asymmetric(_data_type)) { - library->fill_tensor_uniform(src_tensor, 0); - library->fill_tensor_uniform(mean_tensor, 1); - library->fill_tensor_uniform(std_tensor, 2); + const QuantizationInfo quant_info = src_tensor.quantization_info(); + const int min_bound = quant_info.quantize(-1.f, RoundingPolicy::TO_NEAREST_UP); + const int max_bound = quant_info.quantize(1.f, RoundingPolicy::TO_NEAREST_UP); + std::uniform_int_distribution<> distribution(min_bound, max_bound); + std::uniform_int_distribution<> distribution_std(quant_info.quantize(0.1f, RoundingPolicy::TO_NEAREST_UP), max_bound); + library->fill(src_tensor, distribution, 0); + library->fill(mean_tensor, distribution, 1); + library->fill(std_tensor, distribution_std, 2); } } |