aboutsummaryrefslogtreecommitdiff
path: root/src/backends/backendsCommon/WorkloadData.cpp
diff options
context:
space:
mode:
authorMatteo Martincigh <matteo.martincigh@arm.com>2019-06-12 15:42:18 +0100
committerMatteo Martincigh <matteo.martincigh@arm.com>2019-06-17 16:15:22 +0000
commit0e406eed386a4ea015ec703c84a74ea775d88b99 (patch)
treec176eab811b78ce83e86bca2db883e9770708eb2 /src/backends/backendsCommon/WorkloadData.cpp
parente52211e1544a30d24b29523c389116a9e4446e8c (diff)
downloadarmnn-0e406eed386a4ea015ec703c84a74ea775d88b99.tar.gz
IVGCVSW-3267 Add Arm NN front end support for the new Prelu Activation layer
* Added new PreluLayer class * Made necessary changes to ILayerSupport, ILayerVisitor, etc. * Added unit tests Change-Id: Ifcfb78e823bb5a245ed1dad15290d2f60115c882 Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Diffstat (limited to 'src/backends/backendsCommon/WorkloadData.cpp')
-rw-r--r--src/backends/backendsCommon/WorkloadData.cpp40
1 files changed, 40 insertions, 0 deletions
diff --git a/src/backends/backendsCommon/WorkloadData.cpp b/src/backends/backendsCommon/WorkloadData.cpp
index 7c9d4ac58c..d8c10bdea6 100644
--- a/src/backends/backendsCommon/WorkloadData.cpp
+++ b/src/backends/backendsCommon/WorkloadData.cpp
@@ -1711,4 +1711,44 @@ void PreCompiledQueueDescriptor::Validate(const WorkloadInfo& workloadInfo) cons
// This is internally generated so it should not need validation.
}
+void PreluQueueDescriptor::Validate(const WorkloadInfo& workloadInfo) const
+{
+ ValidateNumInputs(workloadInfo, "PreluQueueDescriptor", 2);
+ ValidateNumOutputs(workloadInfo, "PreluQueueDescriptor", 1);
+
+ std::vector<DataType> supportedTypes
+ {
+ DataType::Float16,
+ DataType::Float32,
+ DataType::QuantisedAsymm8
+ };
+
+ ValidateDataTypes(workloadInfo.m_InputTensorInfos[0],
+ supportedTypes,
+ "PreluQueueDescriptor");
+
+ ValidateDataTypes(workloadInfo.m_InputTensorInfos[1],
+ supportedTypes,
+ "PreluQueueDescriptor");
+
+ ValidateDataTypes(workloadInfo.m_OutputTensorInfos[0],
+ supportedTypes,
+ "PreluQueueDescriptor");
+
+ ValidateDataTypes(workloadInfo.m_InputTensorInfos[0],
+ { workloadInfo.m_InputTensorInfos[1].GetDataType() },
+ "PreluQueueDescriptor");
+
+ ValidateDataTypes(workloadInfo.m_InputTensorInfos[0],
+ { workloadInfo.m_OutputTensorInfos[0].GetDataType() },
+ "PreluQueueDescriptor");
+
+ ValidateBroadcastTensorShapesMatch(workloadInfo.m_InputTensorInfos[0],
+ workloadInfo.m_InputTensorInfos[1],
+ workloadInfo.m_OutputTensorInfos[0],
+ "PreluQueueDescriptor",
+ "input",
+ "alpha");
+}
+
} //namespace armnn