blob: 5abfc88f21982928e7b363c1ad64f7fd43c6123e [file] [log] [blame]
James Warda8578102020-11-13 18:05:04 +00001//
Colm Donelan7bcae3c2024-01-22 10:07:14 +00002// Copyright © 2020, 2023-2024 Arm Ltd and Contributors. All rights reserved.
James Warda8578102020-11-13 18:05:04 +00003// SPDX-License-Identifier: MIT
4//
5
6#include "SoftmaxTestHelper.hpp"
7
James Warda8578102020-11-13 18:05:04 +00008#include <doctest/doctest.h>
9
10namespace armnnDelegate
11{
Colm Donelan7bcae3c2024-01-22 10:07:14 +000012TEST_SUITE ("SoftmaxTests")
James Warda8578102020-11-13 18:05:04 +000013{
14
Colm Donelan7bcae3c2024-01-22 10:07:14 +000015TEST_CASE ("Softmax_Standard_Beta_Test")
James Warda8578102020-11-13 18:05:04 +000016{
Colm Donelan7bcae3c2024-01-22 10:07:14 +000017 std::vector<armnn::BackendId> backends = { armnn::Compute::CpuRef, armnn::Compute::GpuAcc };
James Warda8578102020-11-13 18:05:04 +000018 std::vector<float> expectedOutput = {0.00994190481, 0.0445565246, 0.0734612942, 0.329230666, 0.542809606,
19 0.710742831, 0.158588171, 0.0961885825, 0.0214625746, 0.0130177103};
Colm Donelan7bcae3c2024-01-22 10:07:14 +000020 SoftmaxTestCase(tflite::BuiltinOperator_SOFTMAX, 1, expectedOutput, backends);
James Warda8578102020-11-13 18:05:04 +000021}
22
Colm Donelan7bcae3c2024-01-22 10:07:14 +000023TEST_CASE ("Softmax_Different_Beta_Test")
James Warda8578102020-11-13 18:05:04 +000024{
Colm Donelan7bcae3c2024-01-22 10:07:14 +000025 std::vector<armnn::BackendId> backends = { armnn::Compute::CpuRef, armnn::Compute::GpuAcc };
James Warda8578102020-11-13 18:05:04 +000026 std::vector<float> expectedOutput = {0.0946234912, 0.148399189, 0.172415257, 0.270400971, 0.314161092, 0.352414012,
27 0.224709094, 0.193408906, 0.123322964, 0.106145054};
Colm Donelan7bcae3c2024-01-22 10:07:14 +000028 SoftmaxTestCase(tflite::BuiltinOperator_SOFTMAX, 0.3, expectedOutput, backends);
James Warda8578102020-11-13 18:05:04 +000029
30}
31
Colm Donelan7bcae3c2024-01-22 10:07:14 +000032TEST_CASE ("Log_Softmax_Test")
James Warda8578102020-11-13 18:05:04 +000033{
Colm Donelan7bcae3c2024-01-22 10:07:14 +000034 std::vector<armnn::BackendId> backends = { armnn::Compute::CpuRef, armnn::Compute::GpuAcc };
James Warda8578102020-11-13 18:05:04 +000035 std::vector<float> expectedOutput =
36 {-4.61099672, -3.11099672, -2.61099672, -1.11099672, -0.610996664,
37 -0.341444582, -1.84144461, -2.34144449, -3.84144449, -4.34144449};
Colm Donelan7bcae3c2024-01-22 10:07:14 +000038 SoftmaxTestCase(tflite::BuiltinOperator_LOG_SOFTMAX, 0, expectedOutput, backends);
James Warda8578102020-11-13 18:05:04 +000039}
Colm Donelan7bcae3c2024-01-22 10:07:14 +000040} // TEST_SUITE ("SoftmaxTests")
James Warda8578102020-11-13 18:05:04 +000041
James Warda8578102020-11-13 18:05:04 +000042} // namespace armnnDelegate