blob: eb05a1967056ae01513a58bc3520adcbb2c50d57 [file] [log] [blame]
telsoa01c577f2c2018-08-31 09:22:23 +01001//
2// Copyright © 2017 Arm Ltd. All rights reserved.
David Beckecb56cd2018-09-05 12:52:57 +01003// SPDX-License-Identifier: MIT
telsoa01c577f2c2018-08-31 09:22:23 +01004//
5
6#include "ClSoftmaxBaseWorkload.hpp"
7
David Beck711fa312018-09-24 10:46:38 +01008#include <backends/aclCommon/ArmComputeTensorUtils.hpp>
telsoa01c577f2c2018-08-31 09:22:23 +01009
Matthew Bentham14e46692018-09-20 15:35:30 +010010#include <arm_compute/runtime/CL/functions/CLSoftmaxLayer.h>
11
telsoa01c577f2c2018-08-31 09:22:23 +010012namespace armnn
13{
14
15arm_compute::Status ClSoftmaxWorkloadValidate(const TensorInfo& input,
16 const TensorInfo& output)
17{
18 // NOTE: We report 4D Softmax as unsupported until full support is added to ACL
19 if(input.GetShape().GetNumDimensions() >= 4u)
20 {
21 return arm_compute::Status(arm_compute::ErrorCode::RUNTIME_ERROR, "4d softmax is not supported");
22 }
23
24 const arm_compute::TensorInfo aclInputInfo = armcomputetensorutils::BuildArmComputeTensorInfo(input);
25 const arm_compute::TensorInfo aclOutputInfo = armcomputetensorutils::BuildArmComputeTensorInfo(output);
26
27 return arm_compute::CLSoftmaxLayer::validate(&aclInputInfo, &aclOutputInfo);
28}
29
30}