aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKevin May <kevin.may@arm.com>2020-11-19 16:47:39 +0000
committerFrancis Murtagh <francis.murtagh@arm.com>2020-11-19 19:44:18 +0000
commitbe25d94aefe53f221304b1f5f344913b708f808b (patch)
tree6012d5742fd71ceb61d8904ccd35f2db287b10c6
parentfe3ec944c2573c54585f40b58ae6a36f8c19b009 (diff)
downloadarmnn-be25d94aefe53f221304b1f5f344913b708f808b.tar.gz
IVGCVSW-5563 Fix Crash on model with Fullyconnected Sigmoid Activation
* Add supported activations check to Neon FullyConected validate Signed-off-by: Kevin May <kevin.may@arm.com> Change-Id: I67a36eb83d0568d000e928e27eba3c84e32cdc72
-rw-r--r--src/backends/neon/workloads/NeonFullyConnectedWorkload.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/backends/neon/workloads/NeonFullyConnectedWorkload.cpp b/src/backends/neon/workloads/NeonFullyConnectedWorkload.cpp
index 31489a0c3..39fb4c959 100644
--- a/src/backends/neon/workloads/NeonFullyConnectedWorkload.cpp
+++ b/src/backends/neon/workloads/NeonFullyConnectedWorkload.cpp
@@ -27,6 +27,16 @@ arm_compute::Status NeonFullyConnectedWorkloadValidate(const TensorInfo& input,
const FullyConnectedDescriptor& descriptor,
const ActivationDescriptor* activationDescriptor)
{
+ if (activationDescriptor)
+ {
+ std::vector<ActivationFunction> activations = {ActivationFunction::ReLu, ActivationFunction::BoundedReLu};
+ if (std::find(activations.begin(), activations.end(), activationDescriptor->m_Function) == activations.end())
+ {
+ return arm_compute::Status{
+ arm_compute::ErrorCode::RUNTIME_ERROR, "NeonFullyConnectedWorkload :Unsupported Activation Function"};
+ }
+ }
+
const arm_compute::TensorInfo aclInput = BuildArmComputeTensorInfo(input);
const arm_compute::TensorInfo aclOutput = BuildArmComputeTensorInfo(output);
const arm_compute::TensorInfo aclWeights = BuildArmComputeTensorInfo(weights);