diff options
author | Keith Davis <keith.davis@arm.com> | 2020-01-27 15:24:59 +0000 |
---|---|---|
committer | Keith Davis Arm <keith.davis@arm.com> | 2020-01-28 17:32:52 +0000 |
commit | 5204aa8fd1da75ccc052269f358178b54bc7792f (patch) | |
tree | d3c2b354855dab0d2da5845fd46b3950fcc75841 /src/backends/reference/RefWorkloadFactory.cpp | |
parent | d305e1a203077bdbf2e3955abd252904127675a4 (diff) | |
download | armnn-5204aa8fd1da75ccc052269f358178b54bc7792f.tar.gz |
IVGCVSW-4306 Verify the tflite Yolo v3
* Added debug layer support for QSymmS8
* QSymmS8 support for workloads
Signed-off-by: Keith Davis <keith.davis@arm.com>
Change-Id: I51af92fadc0be290629dd9198beab5abef9e351f
Diffstat (limited to 'src/backends/reference/RefWorkloadFactory.cpp')
-rw-r--r-- | src/backends/reference/RefWorkloadFactory.cpp | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/src/backends/reference/RefWorkloadFactory.cpp b/src/backends/reference/RefWorkloadFactory.cpp index e7a9c19fc7..792bd7d3ad 100644 --- a/src/backends/reference/RefWorkloadFactory.cpp +++ b/src/backends/reference/RefWorkloadFactory.cpp @@ -24,7 +24,8 @@ template <typename F32Workload, typename U8Workload, typename QueueDescriptorTyp std::unique_ptr<IWorkload> RefWorkloadFactory::MakeWorkload(const QueueDescriptorType& descriptor, const WorkloadInfo& info) const { - return MakeWorkloadHelper<NullWorkload, F32Workload, U8Workload, NullWorkload, NullWorkload>(descriptor, info); + return MakeWorkloadHelper<NullWorkload, F32Workload, U8Workload, NullWorkload, NullWorkload, NullWorkload> + (descriptor, info); } template <DataType ArmnnType> @@ -54,6 +55,11 @@ bool IsQSymm16(const WorkloadInfo& info) return IsDataType<DataType::QSymmS16>(info); } +bool IsQSymm8(const WorkloadInfo& info) +{ + return IsDataType<DataType::QSymmS8>(info); +} + RefWorkloadFactory::RefWorkloadFactory(const std::shared_ptr<RefMemoryManager>& memoryManager) : m_MemoryManager(memoryManager) { @@ -185,6 +191,10 @@ std::unique_ptr<IWorkload> RefWorkloadFactory::CreateDebug(const DebugQueueDescr { return std::make_unique<RefDebugQSymm16Workload>(descriptor, info); } + if (IsQSymm8(info)) + { + return std::make_unique<RefDebugQSymm8Workload>(descriptor, info); + } if (IsDataType<DataType::Signed32>(info)) { return std::make_unique<RefDebugSigned32Workload>(descriptor, info); @@ -419,7 +429,7 @@ std::unique_ptr<IWorkload> RefWorkloadFactory::CreatePermute(const PermuteQueueD return std::make_unique<RefPermuteQSymm16Workload>(descriptor, info); } return MakeWorkloadHelper<RefPermuteFloat16Workload, RefPermuteFloat32Workload, RefPermuteQAsymm8Workload, - NullWorkload, NullWorkload>(descriptor, info); + NullWorkload, NullWorkload, NullWorkload>(descriptor, info); } std::unique_ptr<IWorkload> RefWorkloadFactory::CreatePooling2d(const Pooling2dQueueDescriptor& descriptor, |