// // Copyright © 2021 Arm Ltd and Contributors. All rights reserved. // SPDX-License-Identifier: MIT // #include "PreluTestHelper.hpp" #include #include #include #include #include #include #include #include namespace armnnDelegate { void PreluFloatSimpleTest(std::vector & backends, bool isAlphaConst, bool isDynamicOutput = false) { std::vector inputShape { 1, 2, 3 }; std::vector alphaShape { 1 }; std::vector outputShape { 1, 2, 3 }; if (isDynamicOutput) { outputShape.clear(); } std::vector inputData = { -14.f, 2.f, 0.f, 1.f, -5.f, 14.f }; std::vector alphaData = { 0.5f }; std::vector expectedOutput = { -7.f, 2.f, 0.f, 1.f, -2.5f, 14.f }; PreluTest(tflite::BuiltinOperator_PRELU, ::tflite::TensorType_FLOAT32, backends, inputShape, alphaShape, outputShape, inputData, alphaData, expectedOutput, isAlphaConst); } TEST_SUITE("Prelu_CpuRefTests") { TEST_CASE ("PreluFp32SimpleConstTest_CpuRef_Test") { std::vector backends = { armnn::Compute::CpuRef }; PreluFloatSimpleTest(backends, true); } TEST_CASE ("PreluFp32SimpleTest_CpuRef_Test") { std::vector backends = { armnn::Compute::CpuRef }; PreluFloatSimpleTest(backends, false); } TEST_CASE ("PreluFp32SimpleConstDynamicTest_CpuRef_Test") { std::vector backends = { armnn::Compute::CpuRef }; PreluFloatSimpleTest(backends, true, true); } TEST_CASE ("PreluFp32SimpleDynamicTest_CpuRef_Test") { std::vector backends = { armnn::Compute::CpuRef }; PreluFloatSimpleTest(backends, false, true); } } // TEST_SUITE("Prelu_CpuRefTests") TEST_SUITE("Prelu_CpuAccTests") { TEST_CASE ("PreluFp32SimpleConstTest_CpuAcc_Test") { std::vector backends = { armnn::Compute::CpuAcc }; PreluFloatSimpleTest(backends, true); } TEST_CASE ("PreluFp32SimpleTest_CpuAcc_Test") { std::vector backends = { armnn::Compute::CpuAcc }; PreluFloatSimpleTest(backends, false); } TEST_CASE ("PreluFp32SimpleConstDynamicTest_CpuAcc_Test") { std::vector backends = { armnn::Compute::CpuAcc }; PreluFloatSimpleTest(backends, true, true); } TEST_CASE ("PreluFp32SimpleDynamicTest_CpuAcc_Test") { std::vector backends = { armnn::Compute::CpuAcc }; PreluFloatSimpleTest(backends, false, true); } } // TEST_SUITE("Prelu_CpuAccTests") TEST_SUITE("Prelu_GpuAccTests") { TEST_CASE ("PreluFp32SimpleConstTest_GpuAcc_Test") { std::vector backends = { armnn::Compute::GpuAcc }; PreluFloatSimpleTest(backends, true); } TEST_CASE ("PreluFp32SimpleTest_GpuAcc_Test") { std::vector backends = { armnn::Compute::GpuAcc }; PreluFloatSimpleTest(backends, false); } TEST_CASE ("PreluFp32SimpleConstDynamicTest_GpuAcc_Test") { std::vector backends = { armnn::Compute::GpuAcc }; PreluFloatSimpleTest(backends, true, true); } TEST_CASE ("PreluFp32SimpleDynamicTest_GpuAcc_Test") { std::vector backends = { armnn::Compute::GpuAcc }; PreluFloatSimpleTest(backends, false, true); } } // TEST_SUITE("Prelu_GpuAccTests") }