aboutsummaryrefslogtreecommitdiff
path: root/src/backends/backendsCommon/WorkloadFactory.cpp
diff options
context:
space:
mode:
authorKevin May <kevin.may@arm.com>2019-10-02 14:07:47 +0100
committerKevin May <kevin.may@arm.com>2019-10-03 11:56:18 +0000
commitce5045a00485f8a8c35814c0781ccbcca5678e5c (patch)
tree7481fbdfd859f3edd24c1bf99830a0c89d6bb9ab /src/backends/backendsCommon/WorkloadFactory.cpp
parentd47a064ab4c38559c6be931cb1771feb6e026ea4 (diff)
downloadarmnn-ce5045a00485f8a8c35814c0781ccbcca5678e5c.tar.gz
IVGCVSW-3932 Add frontend for INSTANCE_NORMALIZATION
Signed-off-by: Kevin May <kevin.may@arm.com> Change-Id: Ib152148ccd8d2733c617d0cf9402661fc6b71316
Diffstat (limited to 'src/backends/backendsCommon/WorkloadFactory.cpp')
-rw-r--r--src/backends/backendsCommon/WorkloadFactory.cpp22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/backends/backendsCommon/WorkloadFactory.cpp b/src/backends/backendsCommon/WorkloadFactory.cpp
index 44888b3ac9..98fe158fc5 100644
--- a/src/backends/backendsCommon/WorkloadFactory.cpp
+++ b/src/backends/backendsCommon/WorkloadFactory.cpp
@@ -371,6 +371,21 @@ bool IWorkloadFactory::IsLayerSupported(const BackendId& backendId,
result = layerSupportObject->IsInputSupported(OverrideDataType(input, dataType), reason);
break;
}
+ case LayerType::InstanceNormalization:
+ {
+ auto cLayer = boost::polymorphic_downcast<const InstanceNormalizationLayer*>(&layer);
+ const InstanceNormalizationDescriptor& descriptor = cLayer->GetParameters();
+
+ const TensorInfo& input = layer.GetInputSlot(0).GetConnection()->GetTensorInfo();
+ const TensorInfo& output = layer.GetOutputSlot(0).GetTensorInfo();
+
+ result = layerSupportObject->IsInstanceNormalizationSupported(
+ OverrideDataType(input, dataType),
+ OverrideDataType(output, dataType),
+ descriptor,
+ reason);
+ break;
+ }
case LayerType::L2Normalization:
{
auto cLayer = boost::polymorphic_downcast<const L2NormalizationLayer*>(&layer);
@@ -1139,6 +1154,13 @@ std::unique_ptr<IWorkload> IWorkloadFactory::CreateGreater(const GreaterQueueDes
return std::unique_ptr<IWorkload>();
}
+std::unique_ptr<IWorkload> IWorkloadFactory::CreateInstanceNormalization(
+ const InstanceNormalizationQueueDescriptor& descriptor,
+ const WorkloadInfo& info) const
+{
+ return std::unique_ptr<IWorkload>();
+}
+
std::unique_ptr<IWorkload> IWorkloadFactory::CreateL2Normalization(const L2NormalizationQueueDescriptor& descriptor,
const WorkloadInfo& info) const
{