aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAron Virginas-Tar <Aron.Virginas-Tar@arm.com>2019-04-09 14:08:06 +0100
committerAron Virginas-Tar <Aron.Virginas-Tar@arm.com>2019-04-10 15:54:26 +0100
commitd4f0fead9e014f14e1435281f91fc7a48d02d6a1 (patch)
treea65cbc44024d289e34400df094719e285764a322
parentf30f7d32b22020f80b21da7b008d8302cee9d395 (diff)
downloadarmnn-d4f0fead9e014f14e1435281f91fc7a48d02d6a1.tar.gz
IVGCVSW-2947 Remove boost dependency from include/TypesUtils.hpp
!android-nn-driver:968 Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com> Change-Id: I03ccb4842b060a9893567542bfcadc180bbc7311
-rw-r--r--Android.mk1
-rw-r--r--CMakeLists.txt3
-rw-r--r--include/armnn/TypesUtils.hpp27
-rw-r--r--src/armnn/ResolveType.hpp (renamed from src/armnn/TypeUtils.hpp)0
-rw-r--r--src/armnn/TypesUtils.cpp58
-rw-r--r--src/armnn/test/CreateWorkload.hpp2
-rw-r--r--src/armnn/test/UtilsTests.cpp2
-rw-r--r--src/armnnDeserializer/Deserializer.cpp2
-rw-r--r--src/armnnDeserializer/test/ParserFlatbuffersSerializeFixture.hpp2
-rw-r--r--src/armnnOnnxParser/OnnxParser.cpp5
-rw-r--r--src/armnnSerializer/Serializer.cpp2
-rw-r--r--src/armnnTfLiteParser/TfLiteParser.cpp2
-rw-r--r--src/armnnTfLiteParser/test/ParserFlatbuffersFixture.hpp2
-rwxr-xr-xsrc/armnnTfParser/TfParser.cpp2
-rw-r--r--src/backends/aclCommon/test/MemCopyTestImpl.hpp2
-rw-r--r--src/backends/backendsCommon/MemCopyWorkload.cpp2
-rw-r--r--src/backends/backendsCommon/WorkloadData.cpp1
-rw-r--r--src/backends/backendsCommon/test/ArithmeticTestImpl.hpp2
-rw-r--r--src/backends/backendsCommon/test/BatchNormTestImpl.hpp2
-rwxr-xr-xsrc/backends/backendsCommon/test/Conv2dTestImpl.hpp2
-rw-r--r--src/backends/backendsCommon/test/DetectionPostProcessLayerTestImpl.hpp2
-rw-r--r--src/backends/backendsCommon/test/DetectionPostProcessTestImpl.hpp2
-rw-r--r--src/backends/backendsCommon/test/EndToEndTestImpl.hpp2
-rw-r--r--src/backends/backendsCommon/test/FullyConnectedTestImpl.hpp2
-rw-r--r--src/backends/backendsCommon/test/GatherEndToEndTestImpl.hpp2
-rw-r--r--src/backends/backendsCommon/test/LayerTests.cpp2
-rw-r--r--src/backends/backendsCommon/test/MergerTestImpl.hpp2
-rw-r--r--src/backends/backendsCommon/test/QuantizeHelper.hpp2
-rw-r--r--src/backends/backendsCommon/test/StridedSliceTestImpl.hpp2
-rw-r--r--src/backends/cl/workloads/ClDepthwiseConvolutionWorkload.cpp2
-rw-r--r--src/backends/reference/workloads/BaseIterator.hpp2
-rw-r--r--src/backends/reference/workloads/DetectionPostProcess.cpp1
-rw-r--r--src/backends/reference/workloads/Gather.cpp2
-rw-r--r--src/backends/reference/workloads/RefDebugWorkload.cpp2
-rw-r--r--src/backends/reference/workloads/RefElementwiseWorkload.cpp3
-rw-r--r--src/backends/reference/workloads/RefGatherWorkload.cpp2
-rw-r--r--src/backends/reference/workloads/RefPadWorkload.cpp2
-rw-r--r--src/backends/reference/workloads/RefPermuteWorkload.cpp2
-rw-r--r--src/backends/reference/workloads/RefSpaceToBatchNdWorkload.cpp2
-rw-r--r--src/backends/reference/workloads/RefStridedSliceWorkload.cpp2
40 files changed, 106 insertions, 55 deletions
diff --git a/Android.mk b/Android.mk
index cd26fa548e..3e2494de93 100644
--- a/Android.mk
+++ b/Android.mk
@@ -146,6 +146,7 @@ LOCAL_SRC_FILES := \
src/armnn/Profiling.cpp \
src/armnn/JsonPrinter.cpp \
src/armnn/Tensor.cpp \
+ src/armnn/TypesUtils.cpp \
src/armnn/Utils.cpp \
src/armnn/LayerSupport.cpp \
src/armnn/Observable.cpp
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 162b509223..3febe7b6fb 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -328,6 +328,7 @@ list(APPEND armnn_sources
src/armnn/Runtime.hpp
src/armnn/RangeTracker.cpp
src/armnn/RangeTracker.hpp
+ src/armnn/ResolveType.hpp
src/armnn/SerializeLayerParameters.cpp
src/armnn/SerializeLayerParameters.hpp
src/armnn/StaticRangeVisitor.cpp
@@ -337,7 +338,7 @@ list(APPEND armnn_sources
src/armnn/SubGraphSelector.cpp
src/armnn/SubGraphSelector.hpp
src/armnn/Tensor.cpp
- src/armnn/TypeUtils.hpp
+ src/armnn/TypesUtils.cpp
src/armnn/Utils.cpp
src/armnn/WallClockTimer.cpp
src/armnn/WallClockTimer.hpp
diff --git a/include/armnn/TypesUtils.hpp b/include/armnn/TypesUtils.hpp
index 4880c90538..837490d258 100644
--- a/include/armnn/TypesUtils.hpp
+++ b/include/armnn/TypesUtils.hpp
@@ -7,9 +7,6 @@
#include "Tensor.hpp"
#include "Types.hpp"
-#include <boost/assert.hpp>
-#include <boost/numeric/conversion/cast.hpp>
-
#include <cmath>
#include <ostream>
#include <set>
@@ -191,20 +188,7 @@ inline std::ostream & operator<<(std::ostream & os, const armnn::TensorShape & s
/// @return - The quantized value calculated as round(value/scale)+offset.
///
template<typename QuantizedType>
-inline QuantizedType Quantize(float value, float scale, int32_t offset)
-{
- static_assert(IsQuantizedType<QuantizedType>(), "Not an integer type.");
- constexpr QuantizedType max = std::numeric_limits<QuantizedType>::max();
- constexpr QuantizedType min = std::numeric_limits<QuantizedType>::lowest();
- BOOST_ASSERT(scale != 0.f);
- BOOST_ASSERT(!std::isnan(value));
-
- float clampedValue = std::min(std::max(static_cast<float>(round(value/scale) + offset), static_cast<float>(min)),
- static_cast<float>(max));
- auto quantizedBits = static_cast<QuantizedType>(clampedValue);
-
- return quantizedBits;
-}
+QuantizedType Quantize(float value, float scale, int32_t offset);
/// Dequantize an 8-bit data type into a floating point data type.
/// @param value - The value to dequantize.
@@ -213,14 +197,7 @@ inline QuantizedType Quantize(float value, float scale, int32_t offset)
/// @return - The dequantized value calculated as (value-offset)*scale.
///
template <typename QuantizedType>
-inline float Dequantize(QuantizedType value, float scale, int32_t offset)
-{
- static_assert(IsQuantizedType<QuantizedType>(), "Not an integer type.");
- BOOST_ASSERT(scale != 0.f);
- BOOST_ASSERT(!std::isnan(value));
- float dequantized = boost::numeric_cast<float>(value - offset) * scale;
- return dequantized;
-}
+float Dequantize(QuantizedType value, float scale, int32_t offset);
inline void VerifyTensorInfoDataType(const armnn::TensorInfo & info, armnn::DataType dataType)
{
diff --git a/src/armnn/TypeUtils.hpp b/src/armnn/ResolveType.hpp
index 55269f4620..55269f4620 100644
--- a/src/armnn/TypeUtils.hpp
+++ b/src/armnn/ResolveType.hpp
diff --git a/src/armnn/TypesUtils.cpp b/src/armnn/TypesUtils.cpp
new file mode 100644
index 0000000000..cdc30da8ca
--- /dev/null
+++ b/src/armnn/TypesUtils.cpp
@@ -0,0 +1,58 @@
+//
+// Copyright © 2017 Arm Ltd. All rights reserved.
+// SPDX-License-Identifier: MIT
+//
+#include <armnn/TypesUtils.hpp>
+
+#include <boost/assert.hpp>
+#include <boost/numeric/conversion/cast.hpp>
+
+template<typename QuantizedType>
+QuantizedType armnn::Quantize(float value, float scale, int32_t offset)
+{
+ static_assert(IsQuantizedType<QuantizedType>(), "Not an integer type.");
+ constexpr QuantizedType max = std::numeric_limits<QuantizedType>::max();
+ constexpr QuantizedType min = std::numeric_limits<QuantizedType>::lowest();
+ BOOST_ASSERT(scale != 0.f);
+ BOOST_ASSERT(!std::isnan(value));
+
+ float clampedValue = std::min(std::max(static_cast<float>(round(value/scale) + offset), static_cast<float>(min)),
+ static_cast<float>(max));
+ auto quantizedBits = static_cast<QuantizedType>(clampedValue);
+
+ return quantizedBits;
+}
+
+template <typename QuantizedType>
+float armnn::Dequantize(QuantizedType value, float scale, int32_t offset)
+{
+ static_assert(IsQuantizedType<QuantizedType>(), "Not an integer type.");
+ BOOST_ASSERT(scale != 0.f);
+ BOOST_ASSERT(!std::isnan(value));
+ float dequantized = boost::numeric_cast<float>(value - offset) * scale;
+ return dequantized;
+}
+
+/// Explicit specialization of Quantize for uint8_t
+template
+uint8_t armnn::Quantize<uint8_t>(float value, float scale, int32_t offset);
+
+/// Explicit specialization of Quantize for int16_t
+template
+int16_t armnn::Quantize<int16_t>(float value, float scale, int32_t offset);
+
+/// Explicit specialization of Quantize for int32_t
+template
+int32_t armnn::Quantize<int32_t>(float value, float scale, int32_t offset);
+
+/// Explicit specialization of Dequantize for uint8_t
+template
+float armnn::Dequantize<uint8_t>(uint8_t value, float scale, int32_t offset);
+
+/// Explicit specialization of Dequantize for int16_t
+template
+float armnn::Dequantize<int16_t>(int16_t value, float scale, int32_t offset);
+
+/// Explicit specialization of Dequantize for int32_t
+template
+float armnn::Dequantize<int32_t>(int32_t value, float scale, int32_t offset); \ No newline at end of file
diff --git a/src/armnn/test/CreateWorkload.hpp b/src/armnn/test/CreateWorkload.hpp
index acc5cbdb1a..bdec766067 100644
--- a/src/armnn/test/CreateWorkload.hpp
+++ b/src/armnn/test/CreateWorkload.hpp
@@ -15,7 +15,7 @@
#include <Graph.hpp>
#include <DataLayoutIndexed.hpp>
#include <Network.hpp>
-#include <TypeUtils.hpp>
+#include <ResolveType.hpp>
#include <utility>
diff --git a/src/armnn/test/UtilsTests.cpp b/src/armnn/test/UtilsTests.cpp
index c81a4b67b6..0fa67e5f2a 100644
--- a/src/armnn/test/UtilsTests.cpp
+++ b/src/armnn/test/UtilsTests.cpp
@@ -11,7 +11,7 @@
#include <armnn/Descriptors.hpp>
#include <GraphTopologicalSort.hpp>
#include <Graph.hpp>
-#include "TypeUtils.hpp"
+#include <ResolveType.hpp>
BOOST_AUTO_TEST_SUITE(Utils)
diff --git a/src/armnnDeserializer/Deserializer.cpp b/src/armnnDeserializer/Deserializer.cpp
index 076072e888..cbded60f93 100644
--- a/src/armnnDeserializer/Deserializer.cpp
+++ b/src/armnnDeserializer/Deserializer.cpp
@@ -18,6 +18,8 @@
#include <boost/assert.hpp>
#include <boost/format.hpp>
#include <boost/log/trivial.hpp>
+#include <boost/format.hpp>
+#include <boost/numeric/conversion/cast.hpp>
#include <boost/polymorphic_cast.hpp>
// The generated code based on the Serialize schema:
diff --git a/src/armnnDeserializer/test/ParserFlatbuffersSerializeFixture.hpp b/src/armnnDeserializer/test/ParserFlatbuffersSerializeFixture.hpp
index 7baa010840..038cce4da2 100644
--- a/src/armnnDeserializer/test/ParserFlatbuffersSerializeFixture.hpp
+++ b/src/armnnDeserializer/test/ParserFlatbuffersSerializeFixture.hpp
@@ -13,7 +13,7 @@
#include <boost/assert.hpp>
#include <boost/format.hpp>
-#include "TypeUtils.hpp"
+#include <ResolveType.hpp>
#include "test/TensorHelpers.hpp"
#include "flatbuffers/idl.h"
diff --git a/src/armnnOnnxParser/OnnxParser.cpp b/src/armnnOnnxParser/OnnxParser.cpp
index 77350b8b9e..6fe7cc6732 100644
--- a/src/armnnOnnxParser/OnnxParser.cpp
+++ b/src/armnnOnnxParser/OnnxParser.cpp
@@ -8,11 +8,12 @@
#include <armnn/Utils.hpp>
#include <VerificationHelpers.hpp>
+#include <boost/format.hpp>
+#include <boost/numeric/conversion/cast.hpp>
+
#include <google/protobuf/text_format.h>
#include <google/protobuf/io/zero_copy_stream_impl.h>
-#include <boost/format.hpp>
-
#include <numeric>
using namespace armnn;
diff --git a/src/armnnSerializer/Serializer.cpp b/src/armnnSerializer/Serializer.cpp
index 74d0c435c6..0b8ad06d18 100644
--- a/src/armnnSerializer/Serializer.cpp
+++ b/src/armnnSerializer/Serializer.cpp
@@ -13,6 +13,8 @@
#include <ArmnnSchema_generated.h>
+#include <boost/numeric/conversion/cast.hpp>
+
#include <flatbuffers/util.h>
using namespace armnn;
diff --git a/src/armnnTfLiteParser/TfLiteParser.cpp b/src/armnnTfLiteParser/TfLiteParser.cpp
index 5c5618b865..f689deedf6 100644
--- a/src/armnnTfLiteParser/TfLiteParser.cpp
+++ b/src/armnnTfLiteParser/TfLiteParser.cpp
@@ -21,6 +21,8 @@
#include <boost/assert.hpp>
#include <boost/format.hpp>
#include <boost/log/trivial.hpp>
+#include <boost/format.hpp>
+#include <boost/numeric/conversion/cast.hpp>
#include <fstream>
#include <algorithm>
diff --git a/src/armnnTfLiteParser/test/ParserFlatbuffersFixture.hpp b/src/armnnTfLiteParser/test/ParserFlatbuffersFixture.hpp
index 9eb2f2b93d..95c6e85abd 100644
--- a/src/armnnTfLiteParser/test/ParserFlatbuffersFixture.hpp
+++ b/src/armnnTfLiteParser/test/ParserFlatbuffersFixture.hpp
@@ -17,7 +17,7 @@
#include "test/TensorHelpers.hpp"
-#include "TypeUtils.hpp"
+#include <ResolveType.hpp>
#include "armnnTfLiteParser/ITfLiteParser.hpp"
#include <backendsCommon/BackendRegistry.hpp>
diff --git a/src/armnnTfParser/TfParser.cpp b/src/armnnTfParser/TfParser.cpp
index 028a932b42..d7cfba8dfe 100755
--- a/src/armnnTfParser/TfParser.cpp
+++ b/src/armnnTfParser/TfParser.cpp
@@ -20,6 +20,8 @@
#include <boost/format.hpp>
#include <boost/core/ignore_unused.hpp>
+#include <boost/format.hpp>
+#include <boost/numeric/conversion/cast.hpp>
#include <boost/polymorphic_cast.hpp>
#include <numeric>
diff --git a/src/backends/aclCommon/test/MemCopyTestImpl.hpp b/src/backends/aclCommon/test/MemCopyTestImpl.hpp
index 4e0bfa85de..0607bbde98 100644
--- a/src/backends/aclCommon/test/MemCopyTestImpl.hpp
+++ b/src/backends/aclCommon/test/MemCopyTestImpl.hpp
@@ -4,7 +4,7 @@
//
#pragma once
-#include <TypeUtils.hpp>
+#include <ResolveType.hpp>
#include <backendsCommon/IBackendInternal.hpp>
diff --git a/src/backends/backendsCommon/MemCopyWorkload.cpp b/src/backends/backendsCommon/MemCopyWorkload.cpp
index 0fa04f8f46..c4e6f52eec 100644
--- a/src/backends/backendsCommon/MemCopyWorkload.cpp
+++ b/src/backends/backendsCommon/MemCopyWorkload.cpp
@@ -7,7 +7,7 @@
#include "CpuTensorHandle.hpp"
-#include <TypeUtils.hpp>
+#include <ResolveType.hpp>
#include <boost/cast.hpp>
diff --git a/src/backends/backendsCommon/WorkloadData.cpp b/src/backends/backendsCommon/WorkloadData.cpp
index ec163b59c3..df66b4e4c1 100644
--- a/src/backends/backendsCommon/WorkloadData.cpp
+++ b/src/backends/backendsCommon/WorkloadData.cpp
@@ -14,6 +14,7 @@
#include <sstream>
#include <boost/format.hpp>
+#include <boost/numeric/conversion/cast.hpp>
using namespace armnnUtils;
diff --git a/src/backends/backendsCommon/test/ArithmeticTestImpl.hpp b/src/backends/backendsCommon/test/ArithmeticTestImpl.hpp
index 5a65c32918..29dafd36b4 100644
--- a/src/backends/backendsCommon/test/ArithmeticTestImpl.hpp
+++ b/src/backends/backendsCommon/test/ArithmeticTestImpl.hpp
@@ -4,7 +4,7 @@
//
#pragma once
-#include "TypeUtils.hpp"
+#include <ResolveType.hpp>
#include <armnn/INetwork.hpp>
diff --git a/src/backends/backendsCommon/test/BatchNormTestImpl.hpp b/src/backends/backendsCommon/test/BatchNormTestImpl.hpp
index ded4a067b4..d34a54f992 100644
--- a/src/backends/backendsCommon/test/BatchNormTestImpl.hpp
+++ b/src/backends/backendsCommon/test/BatchNormTestImpl.hpp
@@ -4,7 +4,7 @@
//
#pragma once
-#include "TypeUtils.hpp"
+#include <ResolveType.hpp>
#include "WorkloadTestUtils.hpp"
#include <armnn/ArmNN.hpp>
diff --git a/src/backends/backendsCommon/test/Conv2dTestImpl.hpp b/src/backends/backendsCommon/test/Conv2dTestImpl.hpp
index 24f0825504..c2e539b20f 100755
--- a/src/backends/backendsCommon/test/Conv2dTestImpl.hpp
+++ b/src/backends/backendsCommon/test/Conv2dTestImpl.hpp
@@ -6,7 +6,7 @@
#include "WorkloadTestUtils.hpp"
#include "TensorUtils.hpp"
-#include "TypeUtils.hpp"
+#include <ResolveType.hpp>
#include <Permute.hpp>
#include <DataLayoutIndexed.hpp>
diff --git a/src/backends/backendsCommon/test/DetectionPostProcessLayerTestImpl.hpp b/src/backends/backendsCommon/test/DetectionPostProcessLayerTestImpl.hpp
index 2a2c1f92e2..092ce26696 100644
--- a/src/backends/backendsCommon/test/DetectionPostProcessLayerTestImpl.hpp
+++ b/src/backends/backendsCommon/test/DetectionPostProcessLayerTestImpl.hpp
@@ -5,7 +5,7 @@
#pragma once
#include "TensorCopyUtils.hpp"
-#include "TypeUtils.hpp"
+#include <ResolveType.hpp>
#include "WorkloadTestUtils.hpp"
#include <armnn/Types.hpp>
diff --git a/src/backends/backendsCommon/test/DetectionPostProcessTestImpl.hpp b/src/backends/backendsCommon/test/DetectionPostProcessTestImpl.hpp
index 5f4d2a480f..9a53456e81 100644
--- a/src/backends/backendsCommon/test/DetectionPostProcessTestImpl.hpp
+++ b/src/backends/backendsCommon/test/DetectionPostProcessTestImpl.hpp
@@ -7,7 +7,7 @@
#include <armnn/INetwork.hpp>
#include <backendsCommon/test/CommonTestUtils.hpp>
-#include <TypeUtils.hpp>
+#include <ResolveType.hpp>
namespace{
diff --git a/src/backends/backendsCommon/test/EndToEndTestImpl.hpp b/src/backends/backendsCommon/test/EndToEndTestImpl.hpp
index a04fdf72e7..f8673d691e 100644
--- a/src/backends/backendsCommon/test/EndToEndTestImpl.hpp
+++ b/src/backends/backendsCommon/test/EndToEndTestImpl.hpp
@@ -4,7 +4,7 @@
//
#pragma once
-#include "TypeUtils.hpp"
+#include <ResolveType.hpp>
#include <armnn/ArmNN.hpp>
#include <armnn/INetwork.hpp>
diff --git a/src/backends/backendsCommon/test/FullyConnectedTestImpl.hpp b/src/backends/backendsCommon/test/FullyConnectedTestImpl.hpp
index cfdae63c26..ac2595b6bf 100644
--- a/src/backends/backendsCommon/test/FullyConnectedTestImpl.hpp
+++ b/src/backends/backendsCommon/test/FullyConnectedTestImpl.hpp
@@ -3,7 +3,7 @@
// SPDX-License-Identifier: MIT
//
-#include "TypeUtils.hpp"
+#include <ResolveType.hpp>
#include "WorkloadTestUtils.hpp"
#include <backendsCommon/IBackendInternal.hpp>
diff --git a/src/backends/backendsCommon/test/GatherEndToEndTestImpl.hpp b/src/backends/backendsCommon/test/GatherEndToEndTestImpl.hpp
index 4ef1ef30ee..ce689d7ab3 100644
--- a/src/backends/backendsCommon/test/GatherEndToEndTestImpl.hpp
+++ b/src/backends/backendsCommon/test/GatherEndToEndTestImpl.hpp
@@ -7,7 +7,7 @@
#include <armnn/INetwork.hpp>
#include <backendsCommon/test/CommonTestUtils.hpp>
-#include <TypeUtils.hpp>
+#include <ResolveType.hpp>
namespace{
diff --git a/src/backends/backendsCommon/test/LayerTests.cpp b/src/backends/backendsCommon/test/LayerTests.cpp
index cba4d3d93a..525ac1780a 100644
--- a/src/backends/backendsCommon/test/LayerTests.cpp
+++ b/src/backends/backendsCommon/test/LayerTests.cpp
@@ -5,7 +5,7 @@
#include "LayerTests.hpp"
#include "WorkloadTestUtils.hpp"
#include "TensorUtils.hpp"
-#include "TypeUtils.hpp"
+#include <ResolveType.hpp>
#include "test/TensorHelpers.hpp"
#include "TensorCopyUtils.hpp"
diff --git a/src/backends/backendsCommon/test/MergerTestImpl.hpp b/src/backends/backendsCommon/test/MergerTestImpl.hpp
index de03c1096a..2511bd44ba 100644
--- a/src/backends/backendsCommon/test/MergerTestImpl.hpp
+++ b/src/backends/backendsCommon/test/MergerTestImpl.hpp
@@ -4,7 +4,7 @@
//
#pragma once
-#include "TypeUtils.hpp"
+#include <ResolveType.hpp>
#include <armnn/INetwork.hpp>
diff --git a/src/backends/backendsCommon/test/QuantizeHelper.hpp b/src/backends/backendsCommon/test/QuantizeHelper.hpp
index bb4e561d59..b3b0631e18 100644
--- a/src/backends/backendsCommon/test/QuantizeHelper.hpp
+++ b/src/backends/backendsCommon/test/QuantizeHelper.hpp
@@ -10,7 +10,9 @@
#include <initializer_list>
#include <iterator>
#include <vector>
+
#include <boost/core/ignore_unused.hpp>
+#include <boost/numeric/conversion/cast.hpp>
template<typename T, bool DoQuantize=true>
struct SelectiveQuantizer
diff --git a/src/backends/backendsCommon/test/StridedSliceTestImpl.hpp b/src/backends/backendsCommon/test/StridedSliceTestImpl.hpp
index 1bf5c642ad..f15602c37b 100644
--- a/src/backends/backendsCommon/test/StridedSliceTestImpl.hpp
+++ b/src/backends/backendsCommon/test/StridedSliceTestImpl.hpp
@@ -4,7 +4,7 @@
//
#pragma once
-#include "TypeUtils.hpp"
+#include <ResolveType.hpp>
#include "WorkloadTestUtils.hpp"
#include <armnn/ArmNN.hpp>
diff --git a/src/backends/cl/workloads/ClDepthwiseConvolutionWorkload.cpp b/src/backends/cl/workloads/ClDepthwiseConvolutionWorkload.cpp
index 1745b8297a..1ff0978a40 100644
--- a/src/backends/cl/workloads/ClDepthwiseConvolutionWorkload.cpp
+++ b/src/backends/cl/workloads/ClDepthwiseConvolutionWorkload.cpp
@@ -5,7 +5,7 @@
#include "ClDepthwiseConvolutionWorkload.hpp"
-#include "TypeUtils.hpp"
+#include <ResolveType.hpp>
#include "ClWorkloadUtils.hpp"
#include <aclCommon/ArmComputeUtils.hpp>
diff --git a/src/backends/reference/workloads/BaseIterator.hpp b/src/backends/reference/workloads/BaseIterator.hpp
index 955d7f2185..3439e41b48 100644
--- a/src/backends/reference/workloads/BaseIterator.hpp
+++ b/src/backends/reference/workloads/BaseIterator.hpp
@@ -6,7 +6,7 @@
#pragma once
#include <armnn/ArmNN.hpp>
-#include <TypeUtils.hpp>
+#include <ResolveType.hpp>
namespace armnn
{
diff --git a/src/backends/reference/workloads/DetectionPostProcess.cpp b/src/backends/reference/workloads/DetectionPostProcess.cpp
index 6868180b0b..d3790f22ab 100644
--- a/src/backends/reference/workloads/DetectionPostProcess.cpp
+++ b/src/backends/reference/workloads/DetectionPostProcess.cpp
@@ -7,6 +7,7 @@
#include <armnn/ArmNN.hpp>
+#include <boost/assert.hpp>
#include <boost/numeric/conversion/cast.hpp>
#include <algorithm>
diff --git a/src/backends/reference/workloads/Gather.cpp b/src/backends/reference/workloads/Gather.cpp
index b195003e04..45491c7f52 100644
--- a/src/backends/reference/workloads/Gather.cpp
+++ b/src/backends/reference/workloads/Gather.cpp
@@ -9,6 +9,8 @@
#include <backendsCommon/WorkloadData.hpp>
+#include <boost/numeric/conversion/cast.hpp>
+
namespace armnn
{
diff --git a/src/backends/reference/workloads/RefDebugWorkload.cpp b/src/backends/reference/workloads/RefDebugWorkload.cpp
index 3da925913a..64b1b1c593 100644
--- a/src/backends/reference/workloads/RefDebugWorkload.cpp
+++ b/src/backends/reference/workloads/RefDebugWorkload.cpp
@@ -7,7 +7,7 @@
#include "Debug.hpp"
#include "RefWorkloadUtils.hpp"
-#include <TypeUtils.hpp>
+#include <ResolveType.hpp>
#include <cstring>
diff --git a/src/backends/reference/workloads/RefElementwiseWorkload.cpp b/src/backends/reference/workloads/RefElementwiseWorkload.cpp
index 535adca0d7..cbacd9c21e 100644
--- a/src/backends/reference/workloads/RefElementwiseWorkload.cpp
+++ b/src/backends/reference/workloads/RefElementwiseWorkload.cpp
@@ -11,8 +11,7 @@
#include "Profiling.hpp"
#include "RefWorkloadUtils.hpp"
#include "StringMapping.hpp"
-#include "TypeUtils.hpp"
-
+#include <ResolveType.hpp>
#include <vector>
namespace armnn
diff --git a/src/backends/reference/workloads/RefGatherWorkload.cpp b/src/backends/reference/workloads/RefGatherWorkload.cpp
index 49b37cb1ac..bca3f18796 100644
--- a/src/backends/reference/workloads/RefGatherWorkload.cpp
+++ b/src/backends/reference/workloads/RefGatherWorkload.cpp
@@ -8,7 +8,7 @@
#include "Gather.hpp"
#include "Profiling.hpp"
#include "RefWorkloadUtils.hpp"
-#include "TypeUtils.hpp"
+#include <ResolveType.hpp>
namespace armnn
{
diff --git a/src/backends/reference/workloads/RefPadWorkload.cpp b/src/backends/reference/workloads/RefPadWorkload.cpp
index b41c2de9af..16032e7c77 100644
--- a/src/backends/reference/workloads/RefPadWorkload.cpp
+++ b/src/backends/reference/workloads/RefPadWorkload.cpp
@@ -10,7 +10,7 @@
#include "Profiling.hpp"
-#include "TypeUtils.hpp"
+#include <ResolveType.hpp>
#include <vector>
diff --git a/src/backends/reference/workloads/RefPermuteWorkload.cpp b/src/backends/reference/workloads/RefPermuteWorkload.cpp
index 9ca16425fa..9e44d162e2 100644
--- a/src/backends/reference/workloads/RefPermuteWorkload.cpp
+++ b/src/backends/reference/workloads/RefPermuteWorkload.cpp
@@ -7,7 +7,7 @@
#include "RefWorkloadUtils.hpp"
#include <Permute.hpp>
-#include "TypeUtils.hpp"
+#include <ResolveType.hpp>
namespace armnn
{
diff --git a/src/backends/reference/workloads/RefSpaceToBatchNdWorkload.cpp b/src/backends/reference/workloads/RefSpaceToBatchNdWorkload.cpp
index fb98118536..4d2bb05daa 100644
--- a/src/backends/reference/workloads/RefSpaceToBatchNdWorkload.cpp
+++ b/src/backends/reference/workloads/RefSpaceToBatchNdWorkload.cpp
@@ -7,7 +7,7 @@
#include "SpaceToBatchNd.hpp"
#include "RefWorkloadUtils.hpp"
-#include "TypeUtils.hpp"
+#include <ResolveType.hpp>
namespace armnn
{
diff --git a/src/backends/reference/workloads/RefStridedSliceWorkload.cpp b/src/backends/reference/workloads/RefStridedSliceWorkload.cpp
index 26a878e02f..bcc3520f45 100644
--- a/src/backends/reference/workloads/RefStridedSliceWorkload.cpp
+++ b/src/backends/reference/workloads/RefStridedSliceWorkload.cpp
@@ -7,7 +7,7 @@
#include "StridedSlice.hpp"
#include "RefWorkloadUtils.hpp"
-#include "TypeUtils.hpp"
+#include <ResolveType.hpp>
namespace armnn
{