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-20 10:12:01 +0000
commit751aa5efc4316f673874b494aec50738f610b348 (patch)
tree6012d5742fd71ceb61d8904ccd35f2db287b10c6
parentfe3ec944c2573c54585f40b58ae6a36f8c19b009 (diff)
downloadarmnn-751aa5efc4316f673874b494aec50738f610b348.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 31489a0c32..39fb4c959b 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);