diff options
author | Michele Di Giorgio <michele.digiorgio@arm.com> | 2020-04-30 12:02:20 +0100 |
---|---|---|
committer | Michele Di Giorgio <michele.digiorgio@arm.com> | 2020-05-01 13:36:24 +0000 |
commit | 81870c05533cba03373d5e51fed95cd5e74f741d (patch) | |
tree | 2eaf6233f39a01fe69656d7714bcbb575cdd5021 /tests/validation/NEON | |
parent | c6aef871851691eb726e53f621d51545715896e3 (diff) | |
download | ComputeLibrary-81870c05533cba03373d5e51fed95cd5e74f741d.tar.gz |
IVGCVSW-4743: Fix CpuAcc Hal 1.3 Comparison Failures
Broadcast for QASYMM8_SIGNED was not handled.
Change-Id: Id5dbb0dce78838319218de94551bba52d697f4a4
Signed-off-by: Michele Di Giorgio <michele.digiorgio@arm.com>
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/3131
Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Diffstat (limited to 'tests/validation/NEON')
-rw-r--r-- | tests/validation/NEON/Comparisons.cpp | 37 |
1 files changed, 17 insertions, 20 deletions
diff --git a/tests/validation/NEON/Comparisons.cpp b/tests/validation/NEON/Comparisons.cpp index 38e440e649..f080c834e5 100644 --- a/tests/validation/NEON/Comparisons.cpp +++ b/tests/validation/NEON/Comparisons.cpp @@ -52,8 +52,9 @@ const auto configure_dataset = combine(datasets::SmallShapes(), DataType::F32 })); -const auto run_small_dataset = combine(datasets::ComparisonOperations(), datasets::SmallShapes()); -const auto run_large_dataset = combine(datasets::ComparisonOperations(), datasets::LargeShapes()); +const auto run_small_dataset = combine(datasets::ComparisonOperations(), datasets::SmallShapes()); +const auto run_small_broadcast_dataset = combine(datasets::ComparisonOperations(), datasets::SmallShapesBroadcast()); +const auto run_large_dataset = combine(datasets::ComparisonOperations(), datasets::LargeShapes()); } // namespace @@ -90,23 +91,6 @@ DATA_TEST_CASE(Validate, framework::DatasetMode::ALL, zip(zip(zip( // clang-format on // *INDENT-ON* -DATA_TEST_CASE(Configuration, framework::DatasetMode::ALL, configure_dataset, - shape, data_type) -{ - // Create tensors - Tensor ref_src1 = create_tensor<Tensor>(shape, data_type); - Tensor ref_src2 = create_tensor<Tensor>(shape, data_type); - Tensor dst = create_tensor<Tensor>(shape, DataType::U8); - - // Create and Configure function - NEElementwiseComparison compare; - compare.configure(&ref_src1, &ref_src2, &dst, ComparisonOperation::Equal); - - // Validate valid region - const ValidRegion valid_region = shape_to_valid_region(shape); - validate(dst.info()->valid_region(), valid_region); -} - template <typename T> using NEComparisonFixture = ComparisonValidationFixture<Tensor, Accessor, NEElementwiseComparison, T>; @@ -154,6 +138,8 @@ TEST_SUITE_END() // Float template <typename T> using NEComparisonQuantizedFixture = ComparisonValidationQuantizedFixture<Tensor, Accessor, NEElementwiseComparison, T>; +template <typename T> +using NEComparisonQuantizedBroadcastFixture = ComparisonQuantizedBroadcastValidationFixture<Tensor, Accessor, NEElementwiseComparison, T>; TEST_SUITE(Quantized) TEST_SUITE(QASYMM8) @@ -169,11 +155,22 @@ FIXTURE_DATA_TEST_CASE(RunSmall, } TEST_SUITE_END() TEST_SUITE(QASYMM8_SIGNED) +FIXTURE_DATA_TEST_CASE(RunSmallBroadcast, + NEComparisonQuantizedBroadcastFixture<int8_t>, + framework::DatasetMode::ALL, + combine(combine(combine(run_small_broadcast_dataset, framework::dataset::make("DataType", DataType::QASYMM8_SIGNED)), + framework::dataset::make("QuantizationInfo", { QuantizationInfo(0.1, -30) })), + framework::dataset::make("QuantizationInfo", { QuantizationInfo(0.3f, 2) }))) +{ + // Validate output + validate(Accessor(_target), _reference); +} + FIXTURE_DATA_TEST_CASE(RunSmall, NEComparisonQuantizedFixture<int8_t>, framework::DatasetMode::PRECOMMIT, combine(combine(combine(run_small_dataset, framework::dataset::make("DataType", DataType::QASYMM8_SIGNED)), - framework::dataset::make("QuantizationInfo", { QuantizationInfo() })), + framework::dataset::make("QuantizationInfo", { QuantizationInfo(0.1, -30) })), framework::dataset::make("QuantizationInfo", { QuantizationInfo(0.3f, 2) }))) { // Validate output |