diff options
Diffstat (limited to 'tests/validation/NEON/SoftmaxLayer.cpp')
-rw-r--r-- | tests/validation/NEON/SoftmaxLayer.cpp | 49 |
1 files changed, 41 insertions, 8 deletions
diff --git a/tests/validation/NEON/SoftmaxLayer.cpp b/tests/validation/NEON/SoftmaxLayer.cpp index 549463962a..9ac81af278 100644 --- a/tests/validation/NEON/SoftmaxLayer.cpp +++ b/tests/validation/NEON/SoftmaxLayer.cpp @@ -161,36 +161,69 @@ BOOST_DATA_TEST_CASE(RunLarge, LargeShapes() * CNNFloatDataTypes(), shape, dt) BOOST_AUTO_TEST_SUITE_END() BOOST_AUTO_TEST_SUITE(Quantized) +BOOST_AUTO_TEST_SUITE(QS8) // Testing for fixed point position [1,6) as reciprocal limits the maximum fixed point position to 5 BOOST_TEST_DECORATOR(*boost::unit_test::label("precommit")) -BOOST_DATA_TEST_CASE(RunSmall, SmallShapes() * CNNFixedPointDataTypes() * boost::unit_test::data::xrange(1, 6), - shape, dt, fixed_point_position) +BOOST_DATA_TEST_CASE(RunSmall, SmallShapes() * boost::unit_test::data::xrange(1, 6), + shape, fixed_point_position) { // Compute function - Tensor dst = compute_softmax_layer(shape, dt, fixed_point_position); + Tensor dst = compute_softmax_layer(shape, DataType::QS8, fixed_point_position); // Compute reference - RawTensor ref_dst = Reference::compute_reference_softmax_layer(shape, dt, fixed_point_position); + RawTensor ref_dst = Reference::compute_reference_softmax_layer(shape, DataType::QS8, fixed_point_position); // Validate output validate(NEAccessor(dst), ref_dst, tolerance_fixed_point); } BOOST_TEST_DECORATOR(*boost::unit_test::label("nightly")) -BOOST_DATA_TEST_CASE(RunLarge, LargeShapes() * CNNFixedPointDataTypes() * boost::unit_test::data::xrange(1, 6), - shape, dt, fixed_point_position) +BOOST_DATA_TEST_CASE(RunLarge, LargeShapes() * boost::unit_test::data::xrange(1, 6), + shape, fixed_point_position) { // Compute function - Tensor dst = compute_softmax_layer(shape, dt, fixed_point_position); + Tensor dst = compute_softmax_layer(shape, DataType::QS8, fixed_point_position); // Compute reference - RawTensor ref_dst = Reference::compute_reference_softmax_layer(shape, dt, fixed_point_position); + RawTensor ref_dst = Reference::compute_reference_softmax_layer(shape, DataType::QS8, fixed_point_position); // Validate output validate(NEAccessor(dst), ref_dst, tolerance_fixed_point); } BOOST_AUTO_TEST_SUITE_END() +BOOST_AUTO_TEST_SUITE(QS16) +// Testing for fixed point position [1,14) as reciprocal limits the maximum fixed point position to 14 +BOOST_TEST_DECORATOR(*boost::unit_test::label("precommit")) +BOOST_DATA_TEST_CASE(RunSmall, SmallShapes() * boost::unit_test::data::xrange(1, 14), + shape, fixed_point_position) +{ + // Compute function + Tensor dst = compute_softmax_layer(shape, DataType::QS16, fixed_point_position); + + // Compute reference + RawTensor ref_dst = Reference::compute_reference_softmax_layer(shape, DataType::QS16, fixed_point_position); + + // Validate output + validate(NEAccessor(dst), ref_dst, tolerance_fixed_point); +} + +BOOST_TEST_DECORATOR(*boost::unit_test::label("nightly")) +BOOST_DATA_TEST_CASE(RunLarge, LargeShapes() * boost::unit_test::data::xrange(1, 14), + shape, fixed_point_position) +{ + // Compute function + Tensor dst = compute_softmax_layer(shape, DataType::QS16, fixed_point_position); + + // Compute reference + RawTensor ref_dst = Reference::compute_reference_softmax_layer(shape, DataType::QS16, fixed_point_position); + + // Validate output + validate(NEAccessor(dst), ref_dst, tolerance_fixed_point); +} +BOOST_AUTO_TEST_SUITE_END() +BOOST_AUTO_TEST_SUITE_END() + BOOST_AUTO_TEST_SUITE_END() BOOST_AUTO_TEST_SUITE_END() #endif /* DOXYGEN_SKIP_THIS */ |