diff options
author | Keith Davis <keith.davis@arm.com> | 2021-05-21 16:33:48 +0100 |
---|---|---|
committer | Keith Davis <keith.davis@arm.com> | 2021-06-16 17:27:59 +0100 |
commit | 3ae3f978cf9ce3174609b7152af87acb410b0fe0 (patch) | |
tree | 9c71ea6aafbacfeba6938b5e0e29cdc97a784b70 /src/backends/backendsCommon/WorkloadFactory.cpp | |
parent | 50de4fa4e7e0dd02a442ba350a1b40f293cb5a01 (diff) | |
download | armnn-3ae3f978cf9ce3174609b7152af87acb410b0fe0.tar.gz |
MLCE-510 Add CpuRef Shape Operator to ArmNN
* Add front end
* Add reference workload
* Serialization/Deserialization
* Add unit tests
* Update ArmNN Versioning
Signed-off-by: Keith Davis <keith.davis@arm.com>
Change-Id: I6fcb1fa341d6f08dea4003b13544e6e9f53fefd3
Diffstat (limited to 'src/backends/backendsCommon/WorkloadFactory.cpp')
-rw-r--r-- | src/backends/backendsCommon/WorkloadFactory.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/backends/backendsCommon/WorkloadFactory.cpp b/src/backends/backendsCommon/WorkloadFactory.cpp index c5fc9d0fe2..61ad20995b 100644 --- a/src/backends/backendsCommon/WorkloadFactory.cpp +++ b/src/backends/backendsCommon/WorkloadFactory.cpp @@ -1003,6 +1003,16 @@ bool IWorkloadFactory::IsLayerConfigurationSupported(const BackendId& backendId, reason); break; } + case LayerType::Shape: + { + const TensorInfo& input = layer.GetInputSlot(0).GetConnection()->GetTensorInfo(); + const TensorInfo& output = layer.GetOutputSlot(0).GetTensorInfo(); + + result = layerSupportObject.IsShapeSupported(OverrideDataType(input, dataType), + OverrideDataType(output, dataType), + reason); + break; + } case LayerType::Slice: { auto cLayer = PolymorphicDowncast<const SliceLayer*>(&layer); @@ -1673,6 +1683,12 @@ std::unique_ptr<IWorkload> IWorkloadFactory::CreateRsqrt(const RsqrtQueueDescrip return std::unique_ptr<IWorkload>(); } +std::unique_ptr<IWorkload> IWorkloadFactory::CreateShape(const ShapeQueueDescriptor& /*descriptor*/, + const WorkloadInfo& /*info*/) const +{ + return std::unique_ptr<IWorkload>(); +} + std::unique_ptr<IWorkload> IWorkloadFactory::CreateSlice(const SliceQueueDescriptor& /*descriptor*/, const WorkloadInfo& /*info*/) const { |