aboutsummaryrefslogtreecommitdiff
path: root/src/backends/aclCommon/ArmComputeSubgraphUtils.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/backends/aclCommon/ArmComputeSubgraphUtils.hpp')
-rw-r--r--src/backends/aclCommon/ArmComputeSubgraphUtils.hpp27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/backends/aclCommon/ArmComputeSubgraphUtils.hpp b/src/backends/aclCommon/ArmComputeSubgraphUtils.hpp
index 860d88df80..a0fca46330 100644
--- a/src/backends/aclCommon/ArmComputeSubgraphUtils.hpp
+++ b/src/backends/aclCommon/ArmComputeSubgraphUtils.hpp
@@ -45,6 +45,33 @@ SubgraphView::OutputSlots CreateOutputsFrom(const std::vector<Layer*>& layers)
return result;
}
+bool checkDataTypeInputandOutput(const Layer& layer)
+{
+ auto inputInfo = layer.GetInputSlot(0).GetConnection()->GetTensorInfo();
+ auto outputInfo = layer.GetOutputSlot(0).GetTensorInfo();
+ bool sameDataType = (inputInfo.GetDataType() == outputInfo.GetDataType());
+
+ // Check is same quantization info (same scale and offset)
+ if (sameDataType)
+ {
+ if (IsQuantizedType(inputInfo.GetDataType()))
+ {
+ bool sameScale = (inputInfo.GetQuantizationScale() == outputInfo.GetQuantizationScale());
+ bool sameOffset = (inputInfo.GetQuantizationOffset() == outputInfo.GetQuantizationOffset());
+
+ return (sameScale && sameOffset);
+ }
+ else
+ {
+ return true;
+ }
+ }
+ else
+ {
+ return false;
+ }
+}
+
} // namespace
inline void ReportUntouchedLayers(OptimizationViews& optimizationViews, std::map<LayerGuid, Layer*> untouched)