aboutsummaryrefslogtreecommitdiff
path: root/src/backends/backendsCommon/WorkloadData.cpp
diff options
context:
space:
mode:
authorNattapat Chaimanowong <nattapat.chaimanowong@arm.com>2019-03-28 09:56:53 +0000
committerNattapat Chaimanowong <nattapat.chaimanowong@arm.com>2019-03-28 11:18:00 +0000
commite4294fd7363fd2f5a7be25d1722f20ed935d3445 (patch)
treeb1ebf691cc66e447706081c956a50ce1b4c18e99 /src/backends/backendsCommon/WorkloadData.cpp
parent61f54634701d070dbf48e082993fa58104d6f329 (diff)
downloadarmnn-e4294fd7363fd2f5a7be25d1722f20ed935d3445.tar.gz
IVGCVSW-2874 Add DequantizeLayer and no-op factory method
*Add Dequantize layer to the frontend *Add Serializer and Deserializer for Dequantize Change-Id: Ide2647b9e0348d599deb97e61ca4bf66e2f17fc0 Signed-off-by: Nattapat Chaimanowong <nattapat.chaimanowong@arm.com>
Diffstat (limited to 'src/backends/backendsCommon/WorkloadData.cpp')
-rw-r--r--src/backends/backendsCommon/WorkloadData.cpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/backends/backendsCommon/WorkloadData.cpp b/src/backends/backendsCommon/WorkloadData.cpp
index e30a3f36b7..91b1c5790b 100644
--- a/src/backends/backendsCommon/WorkloadData.cpp
+++ b/src/backends/backendsCommon/WorkloadData.cpp
@@ -1153,6 +1153,23 @@ void DetectionPostProcessQueueDescriptor::Validate(const WorkloadInfo& workloadI
}
}
+void DequantizeQueueDescriptor::Validate(const WorkloadInfo& workloadInfo) const
+{
+ ValidateSingleInput(workloadInfo, "DequantizeQueueDescriptor");
+ ValidateSingleOutput(workloadInfo, "DequantizeQueueDescriptor");
+
+ if (workloadInfo.m_InputTensorInfos[0].GetDataType() != DataType::QuantisedAsymm8 &&
+ workloadInfo.m_InputTensorInfos[0].GetDataType() != DataType::QuantisedSymm16)
+ {
+ throw InvalidArgumentException("Input to dequantize layer must be quantized type.");
+ }
+
+ if (workloadInfo.m_OutputTensorInfos[0].GetDataType() != DataType::Float32)
+ {
+ throw InvalidArgumentException("Output of dequantize layer must be Float32 type.");
+ }
+}
+
void PreCompiledQueueDescriptor::Validate(const WorkloadInfo& workloadInfo) const
{
// This is internally generated so it should not need validation.