aboutsummaryrefslogtreecommitdiff
path: root/src/backends/backendsCommon
diff options
context:
space:
mode:
authorMatthew Sloyan <matthew.sloyan@arm.com>2020-09-09 09:07:37 +0100
committerJan Eilers <jan.eilers@arm.com>2020-09-17 08:31:09 +0000
commit171214c8ff275c90cd4f7fc23a34ec2c83b5ea39 (patch)
tree23fd3ee288d631c8c94bede71f89f0f1e12da862 /src/backends/backendsCommon
parenta25886e0966a6b9433cd23595688fadb88a161b2 (diff)
downloadarmnn-171214c8ff275c90cd4f7fc23a34ec2c83b5ea39.tar.gz
IVGCVSW-5300 Remove some boost::numeric_cast from armnn/backends
* Replaced with armnn/utility/NumericCast.hpp * Some exclusions in reference backend * Excluded as requires float implementation in NumericCast.hpp Signed-off-by: Matthew Sloyan <matthew.sloyan@arm.com> Change-Id: I9e4e9cd502c865452128fa04415fd6f250baa855
Diffstat (limited to 'src/backends/backendsCommon')
-rw-r--r--src/backends/backendsCommon/WorkloadData.cpp6
-rw-r--r--src/backends/backendsCommon/WorkloadUtils.cpp7
-rw-r--r--src/backends/backendsCommon/test/ActivationFixture.hpp11
-rw-r--r--src/backends/backendsCommon/test/ComparisonEndToEndTestImpl.hpp4
-rw-r--r--src/backends/backendsCommon/test/ConcatEndToEndTestImpl.hpp4
-rw-r--r--src/backends/backendsCommon/test/ElementwiseUnaryEndToEndTestImpl.hpp4
-rw-r--r--src/backends/backendsCommon/test/QuantizedLstmEndToEndTestImpl.cpp8
-rw-r--r--src/backends/backendsCommon/test/SplitterEndToEndTestImpl.hpp4
-rw-r--r--src/backends/backendsCommon/test/layerTests/ActivationTestImpl.cpp10
-rw-r--r--src/backends/backendsCommon/test/layerTests/Conv2dTestImpl.cpp101
-rw-r--r--src/backends/backendsCommon/test/layerTests/LstmTestImpl.cpp19
-rw-r--r--src/backends/backendsCommon/test/layerTests/NormalizationTestImpl.cpp10
-rw-r--r--src/backends/backendsCommon/test/layerTests/Pooling2dTestImpl.cpp17
13 files changed, 111 insertions, 94 deletions
diff --git a/src/backends/backendsCommon/WorkloadData.cpp b/src/backends/backendsCommon/WorkloadData.cpp
index c7650dc58d..07ce14b763 100644
--- a/src/backends/backendsCommon/WorkloadData.cpp
+++ b/src/backends/backendsCommon/WorkloadData.cpp
@@ -7,6 +7,7 @@
#include <backendsCommon/CpuTensorHandle.hpp>
#include <armnnUtils/DataLayoutIndexed.hpp>
#include <armnnUtils/TensorUtils.hpp>
+#include <armnn/utility/NumericCast.hpp>
#include <algorithm>
#include <iomanip>
@@ -14,7 +15,6 @@
#include <sstream>
#include <boost/format.hpp>
-#include <boost/numeric/conversion/cast.hpp>
using namespace armnnUtils;
@@ -306,7 +306,7 @@ void ValidateBroadcastTensorShapesMatch(const TensorInfo& first,
}
outputDims[i] = std::max(first.GetShape()[i], second.GetShape()[i]);
}
- TensorShape broadcastShape = TensorShape(boost::numeric_cast<unsigned int>(outputDims.size()), outputDims.data());
+ TensorShape broadcastShape = TensorShape(armnn::numeric_cast<unsigned int>(outputDims.size()), outputDims.data());
if (broadcastShape != output.GetShape())
{
throw InvalidArgumentException(descName + ": The tensor shape resulting from adding "
@@ -2306,7 +2306,7 @@ void MeanQueueDescriptor::Validate(const WorkloadInfo& workloadInfo) const
else
{
unsigned int outputDim =
- inputTensorInfo.GetNumDimensions() - boost::numeric_cast<unsigned int>(m_Parameters.m_Axis.size());
+ inputTensorInfo.GetNumDimensions() - armnn::numeric_cast<unsigned int>(m_Parameters.m_Axis.size());
ValidateTensorNumDimensions(outputTensorInfo,
descriptorName,
outputDim > 0 ? outputDim : 1,
diff --git a/src/backends/backendsCommon/WorkloadUtils.cpp b/src/backends/backendsCommon/WorkloadUtils.cpp
index 37915cfc4d..5886630cd9 100644
--- a/src/backends/backendsCommon/WorkloadUtils.cpp
+++ b/src/backends/backendsCommon/WorkloadUtils.cpp
@@ -6,8 +6,7 @@
#include <backendsCommon/WorkloadUtils.hpp>
#include <armnn/Utils.hpp>
-
-#include <boost/numeric/conversion/cast.hpp>
+#include <armnn/utility/NumericCast.hpp>
namespace armnn
{
@@ -194,12 +193,12 @@ armnn::ConstTensor ConvertWeightTensorFromArmnnToAcl(const ConstCpuTensorHandle*
int32_t ConvertMaskToACLFormat(int32_t mask, int32_t numDim)
{
int32_t reversedMask = 0;
- for (unsigned int i = 0; i < boost::numeric_cast<unsigned int>(numDim); ++i)
+ for (unsigned int i = 0; i < armnn::numeric_cast<unsigned int>(numDim); ++i)
{
// Check if bit set in mask for each dimension
int32_t bit = (mask & 1 << i) != 0;
// Increment the new mask with the bits reversed
- reversedMask += (bit << std::max(numDim-(boost::numeric_cast<int>(i)+1), 0));
+ reversedMask += (bit << std::max(numDim-(armnn::numeric_cast<int>(i)+1), 0));
}
return reversedMask;
diff --git a/src/backends/backendsCommon/test/ActivationFixture.hpp b/src/backends/backendsCommon/test/ActivationFixture.hpp
index 8ff77f6c5d..d28174d6a6 100644
--- a/src/backends/backendsCommon/test/ActivationFixture.hpp
+++ b/src/backends/backendsCommon/test/ActivationFixture.hpp
@@ -7,9 +7,10 @@
#include "TensorCopyUtils.hpp"
#include "WorkloadTestUtils.hpp"
+#include <armnn/utility/NumericCast.hpp>
+
#include <test/TensorHelpers.hpp>
-#include <boost/numeric/conversion/cast.hpp>
#include <boost/multi_array.hpp>
struct ActivationFixture
@@ -17,10 +18,10 @@ struct ActivationFixture
ActivationFixture()
{
auto boostArrayExtents = boost::extents
- [boost::numeric_cast<boost::multi_array_types::extent_gen::index>(batchSize)]
- [boost::numeric_cast<boost::multi_array_types::extent_gen::index>(channels)]
- [boost::numeric_cast<boost::multi_array_types::extent_gen::index>(height)]
- [boost::numeric_cast<boost::multi_array_types::extent_gen::index>(width)];
+ [armnn::numeric_cast<boost::multi_array_types::extent_gen::index>(batchSize)]
+ [armnn::numeric_cast<boost::multi_array_types::extent_gen::index>(channels)]
+ [armnn::numeric_cast<boost::multi_array_types::extent_gen::index>(height)]
+ [armnn::numeric_cast<boost::multi_array_types::extent_gen::index>(width)];
output.resize(boostArrayExtents);
outputExpected.resize(boostArrayExtents);
input.resize(boostArrayExtents);
diff --git a/src/backends/backendsCommon/test/ComparisonEndToEndTestImpl.hpp b/src/backends/backendsCommon/test/ComparisonEndToEndTestImpl.hpp
index dc53b7b246..c705f87b85 100644
--- a/src/backends/backendsCommon/test/ComparisonEndToEndTestImpl.hpp
+++ b/src/backends/backendsCommon/test/ComparisonEndToEndTestImpl.hpp
@@ -10,6 +10,8 @@
#include <armnn/INetwork.hpp>
+#include <armnn/utility/NumericCast.hpp>
+
#include <boost/test/unit_test.hpp>
#include <vector>
@@ -34,7 +36,7 @@ INetworkPtr CreateComparisonNetwork(const std::vector<TensorShape>& inputShapes,
for (unsigned int i = 0; i < inputShapes.size(); ++i)
{
TensorInfo inputTensorInfo(inputShapes[i], ArmnnTypeInput, qScale, qOffset);
- IConnectableLayer* input = net->AddInputLayer(boost::numeric_cast<LayerBindingId>(i));
+ IConnectableLayer* input = net->AddInputLayer(armnn::numeric_cast<LayerBindingId>(i));
Connect(input, comparisonLayer, inputTensorInfo, 0, i);
}
diff --git a/src/backends/backendsCommon/test/ConcatEndToEndTestImpl.hpp b/src/backends/backendsCommon/test/ConcatEndToEndTestImpl.hpp
index ded3857282..58a1f39a78 100644
--- a/src/backends/backendsCommon/test/ConcatEndToEndTestImpl.hpp
+++ b/src/backends/backendsCommon/test/ConcatEndToEndTestImpl.hpp
@@ -10,6 +10,8 @@
#include <armnn/INetwork.hpp>
+#include <armnn/utility/NumericCast.hpp>
+
#include <boost/test/unit_test.hpp>
#include <vector>
@@ -38,7 +40,7 @@ INetworkPtr CreateConcatNetwork(const std::vector<TensorShape>& inputShapes,
for (unsigned int i = 0; i < inputShapes.size(); ++i)
{
TensorInfo inputTensorInfo(inputShapes[i], DataType, qScale, qOffset);
- IConnectableLayer* input = net->AddInputLayer(boost::numeric_cast<LayerBindingId>(i));
+ IConnectableLayer* input = net->AddInputLayer(armnn::numeric_cast<LayerBindingId>(i));
Connect(input, concat, inputTensorInfo, 0, i);
}
diff --git a/src/backends/backendsCommon/test/ElementwiseUnaryEndToEndTestImpl.hpp b/src/backends/backendsCommon/test/ElementwiseUnaryEndToEndTestImpl.hpp
index 4c93735bc8..5fedaa2171 100644
--- a/src/backends/backendsCommon/test/ElementwiseUnaryEndToEndTestImpl.hpp
+++ b/src/backends/backendsCommon/test/ElementwiseUnaryEndToEndTestImpl.hpp
@@ -10,6 +10,8 @@
#include <armnn/INetwork.hpp>
+#include <armnn/utility/NumericCast.hpp>
+
#include <boost/test/unit_test.hpp>
#include <vector>
@@ -32,7 +34,7 @@ INetworkPtr CreateElementwiseUnaryNetwork(const TensorShape& inputShape,
IConnectableLayer* elementwiseUnaryLayer = net->AddElementwiseUnaryLayer(descriptor, "elementwiseUnary");
TensorInfo inputTensorInfo(inputShape, ArmnnTypeInput, qScale, qOffset);
- IConnectableLayer* input = net->AddInputLayer(boost::numeric_cast<LayerBindingId>(0));
+ IConnectableLayer* input = net->AddInputLayer(armnn::numeric_cast<LayerBindingId>(0));
Connect(input, elementwiseUnaryLayer, inputTensorInfo, 0, 0);
TensorInfo outputTensorInfo(outputShape, ArmnnTypeInput, qScale, qOffset);
diff --git a/src/backends/backendsCommon/test/QuantizedLstmEndToEndTestImpl.cpp b/src/backends/backendsCommon/test/QuantizedLstmEndToEndTestImpl.cpp
index b06b30c935..404a412ca0 100644
--- a/src/backends/backendsCommon/test/QuantizedLstmEndToEndTestImpl.cpp
+++ b/src/backends/backendsCommon/test/QuantizedLstmEndToEndTestImpl.cpp
@@ -13,6 +13,8 @@
#include <armnn/INetwork.hpp>
#include <armnn/QuantizedLstmParams.hpp>
+#include <armnn/utility/NumericCast.hpp>
+
#include <test/TensorHelpers.hpp>
#include <boost/test/unit_test.hpp>
@@ -27,9 +29,9 @@ using MultiArray = const boost::multi_array<uint8_t, 2>&;
armnn::INetworkPtr CreateQuantizedLstmNetwork(MultiArray input,
MultiArray expectedOutput)
{
- auto batchSize = boost::numeric_cast<unsigned int>(input.shape()[0]);
- auto inputSize = boost::numeric_cast<unsigned int>(input.shape()[1]);
- auto outputSize = boost::numeric_cast<unsigned int>(expectedOutput.shape()[1]);
+ auto batchSize = armnn::numeric_cast<unsigned int>(input.shape()[0]);
+ auto inputSize = armnn::numeric_cast<unsigned int>(input.shape()[1]);
+ auto outputSize = armnn::numeric_cast<unsigned int>(expectedOutput.shape()[1]);
float inputOutputScale = 0.0078125f;
int32_t inputOutputOffset = 128;
diff --git a/src/backends/backendsCommon/test/SplitterEndToEndTestImpl.hpp b/src/backends/backendsCommon/test/SplitterEndToEndTestImpl.hpp
index 6c4c1772b6..257a81b50b 100644
--- a/src/backends/backendsCommon/test/SplitterEndToEndTestImpl.hpp
+++ b/src/backends/backendsCommon/test/SplitterEndToEndTestImpl.hpp
@@ -8,6 +8,8 @@
#include <armnn/INetwork.hpp>
+#include <armnn/utility/NumericCast.hpp>
+
#include <backendsCommon/test/CommonTestUtils.hpp>
#include <boost/test/unit_test.hpp>
@@ -63,7 +65,7 @@ INetworkPtr CreateSplitterNetwork(const TensorShape& inputShape,
for (unsigned int i = 0; i < outputShapes.size(); ++i)
{
TensorInfo outputTensorInfo(outputShapes[i], DataType, qScale, qOffset);
- IConnectableLayer* output = net->AddOutputLayer(boost::numeric_cast<LayerBindingId>(i));
+ IConnectableLayer* output = net->AddOutputLayer(armnn::numeric_cast<LayerBindingId>(i));
Connect(splitter, output, outputTensorInfo, i, 0);
}
diff --git a/src/backends/backendsCommon/test/layerTests/ActivationTestImpl.cpp b/src/backends/backendsCommon/test/layerTests/ActivationTestImpl.cpp
index 543ea7716a..6d83b1ca99 100644
--- a/src/backends/backendsCommon/test/layerTests/ActivationTestImpl.cpp
+++ b/src/backends/backendsCommon/test/layerTests/ActivationTestImpl.cpp
@@ -13,6 +13,8 @@
#include <backendsCommon/test/WorkloadTestUtils.hpp>
#include <reference/test/RefWorkloadFactoryHelper.hpp>
+#include <armnn/utility/NumericCast.hpp>
+
#include <test/TensorHelpers.hpp>
#include <boost/multi_array.hpp>
@@ -1261,10 +1263,10 @@ LayerTestResult<T,4> CompareActivationTestImpl(
LayerTestResult<T,4> ret(outputTensorInfo);
auto boostArrayExtents = boost::extents
- [boost::numeric_cast<boost::multi_array_types::extent_gen::index>(batchSize)]
- [boost::numeric_cast<boost::multi_array_types::extent_gen::index>(channels)]
- [boost::numeric_cast<boost::multi_array_types::extent_gen::index>(height)]
- [boost::numeric_cast<boost::multi_array_types::extent_gen::index>(width)];
+ [armnn::numeric_cast<boost::multi_array_types::extent_gen::index>(batchSize)]
+ [armnn::numeric_cast<boost::multi_array_types::extent_gen::index>(channels)]
+ [armnn::numeric_cast<boost::multi_array_types::extent_gen::index>(height)]
+ [armnn::numeric_cast<boost::multi_array_types::extent_gen::index>(width)];
ret.output.resize(boostArrayExtents);
ret.outputExpected.resize(boostArrayExtents);
diff --git a/src/backends/backendsCommon/test/layerTests/Conv2dTestImpl.cpp b/src/backends/backendsCommon/test/layerTests/Conv2dTestImpl.cpp
index e99a26e81e..690d1cd66f 100644
--- a/src/backends/backendsCommon/test/layerTests/Conv2dTestImpl.cpp
+++ b/src/backends/backendsCommon/test/layerTests/Conv2dTestImpl.cpp
@@ -9,6 +9,7 @@
#include <armnnUtils/TensorUtils.hpp>
#include <armnn/utility/IgnoreUnused.hpp>
+#include <armnn/utility/NumericCast.hpp>
#include <armnnUtils/DataLayoutIndexed.hpp>
#include <armnnUtils/Permute.hpp>
@@ -219,20 +220,20 @@ LayerTestResult<T, 4> SimpleConvolution2dTestImpl(
uint32_t dilationY = 1)
{
armnn::IgnoreUnused(memoryManager);
- unsigned int inputHeight = boost::numeric_cast<unsigned int>(originalInput.shape()[2]);
- unsigned int inputWidth = boost::numeric_cast<unsigned int>(originalInput.shape()[3]);
- unsigned int inputChannels = boost::numeric_cast<unsigned int>(originalInput.shape()[1]);
- unsigned int inputNum = boost::numeric_cast<unsigned int>(originalInput.shape()[0]);
+ unsigned int inputHeight = armnn::numeric_cast<unsigned int>(originalInput.shape()[2]);
+ unsigned int inputWidth = armnn::numeric_cast<unsigned int>(originalInput.shape()[3]);
+ unsigned int inputChannels = armnn::numeric_cast<unsigned int>(originalInput.shape()[1]);
+ unsigned int inputNum = armnn::numeric_cast<unsigned int>(originalInput.shape()[0]);
- unsigned int outputHeight = boost::numeric_cast<unsigned int>(originalOutputExpected.shape()[2]);
- unsigned int outputWidth = boost::numeric_cast<unsigned int>(originalOutputExpected.shape()[3]);
- unsigned int outputChannels = boost::numeric_cast<unsigned int>(originalOutputExpected.shape()[1]);
- unsigned int outputNum = boost::numeric_cast<unsigned int>(originalOutputExpected.shape()[0]);
+ unsigned int outputHeight = armnn::numeric_cast<unsigned int>(originalOutputExpected.shape()[2]);
+ unsigned int outputWidth = armnn::numeric_cast<unsigned int>(originalOutputExpected.shape()[3]);
+ unsigned int outputChannels = armnn::numeric_cast<unsigned int>(originalOutputExpected.shape()[1]);
+ unsigned int outputNum = armnn::numeric_cast<unsigned int>(originalOutputExpected.shape()[0]);
- unsigned int kernelHeight = boost::numeric_cast<unsigned int>(originalKernel.shape()[2]);
- unsigned int kernelWidth = boost::numeric_cast<unsigned int>(originalKernel.shape()[3]);
- unsigned int kernelChannels = boost::numeric_cast<unsigned int>(originalKernel.shape()[1]);
- unsigned int kernelDepthMul = boost::numeric_cast<unsigned int>(originalKernel.shape()[0]);
+ unsigned int kernelHeight = armnn::numeric_cast<unsigned int>(originalKernel.shape()[2]);
+ unsigned int kernelWidth = armnn::numeric_cast<unsigned int>(originalKernel.shape()[3]);
+ unsigned int kernelChannels = armnn::numeric_cast<unsigned int>(originalKernel.shape()[1]);
+ unsigned int kernelDepthMul = armnn::numeric_cast<unsigned int>(originalKernel.shape()[0]);
bool biasEnabled = bias.size() > 0;
@@ -385,20 +386,20 @@ LayerTestResult<O, 4> SimpleConvolution2dNhwcTestImpl(
uint32_t strideY = 1)
{
armnn::IgnoreUnused(qScale, qOffset);
- unsigned int inputNum = boost::numeric_cast<unsigned int>(input.shape()[0]);
- unsigned int inputChannels = boost::numeric_cast<unsigned int>(input.shape()[3]);
- unsigned int inputHeight = boost::numeric_cast<unsigned int>(input.shape()[1]);
- unsigned int inputWidth = boost::numeric_cast<unsigned int>(input.shape()[2]);
+ unsigned int inputNum = armnn::numeric_cast<unsigned int>(input.shape()[0]);
+ unsigned int inputChannels = armnn::numeric_cast<unsigned int>(input.shape()[3]);
+ unsigned int inputHeight = armnn::numeric_cast<unsigned int>(input.shape()[1]);
+ unsigned int inputWidth = armnn::numeric_cast<unsigned int>(input.shape()[2]);
- unsigned int kernelChanMul = boost::numeric_cast<unsigned int>(kernel.shape()[0]);
- unsigned int kernelChannels = boost::numeric_cast<unsigned int>(kernel.shape()[3]);
- unsigned int kernelHeight = boost::numeric_cast<unsigned int>(kernel.shape()[1]);
- unsigned int kernelWidth = boost::numeric_cast<unsigned int>(kernel.shape()[2]);
+ unsigned int kernelChanMul = armnn::numeric_cast<unsigned int>(kernel.shape()[0]);
+ unsigned int kernelChannels = armnn::numeric_cast<unsigned int>(kernel.shape()[3]);
+ unsigned int kernelHeight = armnn::numeric_cast<unsigned int>(kernel.shape()[1]);
+ unsigned int kernelWidth = armnn::numeric_cast<unsigned int>(kernel.shape()[2]);
- unsigned int outputNum = boost::numeric_cast<unsigned int>(outputExpected.shape()[0]);
- unsigned int outputChannels = boost::numeric_cast<unsigned int>(outputExpected.shape()[3]);
- unsigned int outputHeight = boost::numeric_cast<unsigned int>(outputExpected.shape()[1]);
- unsigned int outputWidth = boost::numeric_cast<unsigned int>(outputExpected.shape()[2]);
+ unsigned int outputNum = armnn::numeric_cast<unsigned int>(outputExpected.shape()[0]);
+ unsigned int outputChannels = armnn::numeric_cast<unsigned int>(outputExpected.shape()[3]);
+ unsigned int outputHeight = armnn::numeric_cast<unsigned int>(outputExpected.shape()[1]);
+ unsigned int outputWidth = armnn::numeric_cast<unsigned int>(outputExpected.shape()[2]);
bool biasEnabled = bias.size() > 0;
@@ -1643,18 +1644,18 @@ LayerTestResult<T, 4> DepthwiseConvolution2dAsymmetricTestImpl(
uint32_t strideX = 1,
uint32_t strideY = 1)
{
- unsigned int inputNum = boost::numeric_cast<unsigned int>(input.shape()[0]);
- unsigned int inputChannels = boost::numeric_cast<unsigned int>(input.shape()[1]);
- unsigned int inputHeight = boost::numeric_cast<unsigned int>(input.shape()[2]);
- unsigned int inputWidth = boost::numeric_cast<unsigned int>(input.shape()[3]);
- unsigned int kernelChanMul = boost::numeric_cast<unsigned int>(kernel.shape()[0]);
- unsigned int kernelChannels = boost::numeric_cast<unsigned int>(kernel.shape()[1]);
- unsigned int kernelHeight = boost::numeric_cast<unsigned int>(kernel.shape()[2]);
- unsigned int kernelWidth = boost::numeric_cast<unsigned int>(kernel.shape()[3]);
- unsigned int outputNum = boost::numeric_cast<unsigned int>(outputExpected.shape()[0]);
- unsigned int outputChannels = boost::numeric_cast<unsigned int>(outputExpected.shape()[1]);
- unsigned int outputHeight = boost::numeric_cast<unsigned int>(outputExpected.shape()[2]);
- unsigned int outputWidth = boost::numeric_cast<unsigned int>(outputExpected.shape()[3]);
+ unsigned int inputNum = armnn::numeric_cast<unsigned int>(input.shape()[0]);
+ unsigned int inputChannels = armnn::numeric_cast<unsigned int>(input.shape()[1]);
+ unsigned int inputHeight = armnn::numeric_cast<unsigned int>(input.shape()[2]);
+ unsigned int inputWidth = armnn::numeric_cast<unsigned int>(input.shape()[3]);
+ unsigned int kernelChanMul = armnn::numeric_cast<unsigned int>(kernel.shape()[0]);
+ unsigned int kernelChannels = armnn::numeric_cast<unsigned int>(kernel.shape()[1]);
+ unsigned int kernelHeight = armnn::numeric_cast<unsigned int>(kernel.shape()[2]);
+ unsigned int kernelWidth = armnn::numeric_cast<unsigned int>(kernel.shape()[3]);
+ unsigned int outputNum = armnn::numeric_cast<unsigned int>(outputExpected.shape()[0]);
+ unsigned int outputChannels = armnn::numeric_cast<unsigned int>(outputExpected.shape()[1]);
+ unsigned int outputHeight = armnn::numeric_cast<unsigned int>(outputExpected.shape()[2]);
+ unsigned int outputWidth = armnn::numeric_cast<unsigned int>(outputExpected.shape()[3]);
// If a bias is used, its size must equal the number of output channels.
bool biasEnabled = bias.size() > 0;
@@ -2151,20 +2152,20 @@ LayerTestResult<T, 4> DepthwiseConvolution2dTestImpl(
uint32_t dilationX = 1,
uint32_t dilationY = 1)
{
- unsigned int inputHeight = boost::numeric_cast<unsigned int>(originalInput.shape()[2]);
- unsigned int inputWidth = boost::numeric_cast<unsigned int>(originalInput.shape()[3]);
- unsigned int inputChannels = boost::numeric_cast<unsigned int>(originalInput.shape()[1]);
- unsigned int inputNum = boost::numeric_cast<unsigned int>(originalInput.shape()[0]);
-
- unsigned int outputHeight = boost::numeric_cast<unsigned int>(originalOutputExpected.shape()[2]);
- unsigned int outputWidth = boost::numeric_cast<unsigned int>(originalOutputExpected.shape()[3]);
- unsigned int outputChannels = boost::numeric_cast<unsigned int>(originalOutputExpected.shape()[1]);
- unsigned int outputNum = boost::numeric_cast<unsigned int>(originalOutputExpected.shape()[0]);
-
- unsigned int kernelHeight = boost::numeric_cast<unsigned int>(originalKernel.shape()[2]);
- unsigned int kernelWidth = boost::numeric_cast<unsigned int>(originalKernel.shape()[3]);
- unsigned int kernelChannels = boost::numeric_cast<unsigned int>(originalKernel.shape()[1]);
- unsigned int kernelDepthMul = boost::numeric_cast<unsigned int>(originalKernel.shape()[0]);
+ unsigned int inputHeight = armnn::numeric_cast<unsigned int>(originalInput.shape()[2]);
+ unsigned int inputWidth = armnn::numeric_cast<unsigned int>(originalInput.shape()[3]);
+ unsigned int inputChannels = armnn::numeric_cast<unsigned int>(originalInput.shape()[1]);
+ unsigned int inputNum = armnn::numeric_cast<unsigned int>(originalInput.shape()[0]);
+
+ unsigned int outputHeight = armnn::numeric_cast<unsigned int>(originalOutputExpected.shape()[2]);
+ unsigned int outputWidth = armnn::numeric_cast<unsigned int>(originalOutputExpected.shape()[3]);
+ unsigned int outputChannels = armnn::numeric_cast<unsigned int>(originalOutputExpected.shape()[1]);
+ unsigned int outputNum = armnn::numeric_cast<unsigned int>(originalOutputExpected.shape()[0]);
+
+ unsigned int kernelHeight = armnn::numeric_cast<unsigned int>(originalKernel.shape()[2]);
+ unsigned int kernelWidth = armnn::numeric_cast<unsigned int>(originalKernel.shape()[3]);
+ unsigned int kernelChannels = armnn::numeric_cast<unsigned int>(originalKernel.shape()[1]);
+ unsigned int kernelDepthMul = armnn::numeric_cast<unsigned int>(originalKernel.shape()[0]);
bool biasEnabled = bias.size() > 0;
diff --git a/src/backends/backendsCommon/test/layerTests/LstmTestImpl.cpp b/src/backends/backendsCommon/test/layerTests/LstmTestImpl.cpp
index 8f39f42452..088ca3b4c2 100644
--- a/src/backends/backendsCommon/test/layerTests/LstmTestImpl.cpp
+++ b/src/backends/backendsCommon/test/layerTests/LstmTestImpl.cpp
@@ -7,6 +7,7 @@
#include <QuantizeHelper.hpp>
+#include <armnn/utility/NumericCast.hpp>
#include <backendsCommon/CpuTensorHandle.hpp>
@@ -144,9 +145,9 @@ LstmNoCifgNoPeepholeNoProjectionTestImpl(
armnn::DataType constantDataType = armnn::DataType::Float32)
{
IgnoreUnused(memoryManager);
- unsigned int batchSize = boost::numeric_cast<unsigned int>(input.shape()[0]);
- unsigned int inputSize = boost::numeric_cast<unsigned int>(input.shape()[1]);
- unsigned int outputSize = boost::numeric_cast<unsigned int>(outputExpected.shape()[1]);
+ unsigned int batchSize = armnn::numeric_cast<unsigned int>(input.shape()[0]);
+ unsigned int inputSize = armnn::numeric_cast<unsigned int>(input.shape()[1]);
+ unsigned int outputSize = armnn::numeric_cast<unsigned int>(outputExpected.shape()[1]);
// cellSize and outputSize have the same size when there is no projection.
unsigned numUnits = outputSize;
@@ -1069,10 +1070,10 @@ LayerTestResult<T, 2> LstmLayerWithCifgWithPeepholeNoProjectionTestImpl(
bool peepholeEnabled = true;
bool projectionEnabled = false;
// These are not the input and the output of Lstm yet
- unsigned int batchSize = boost::numeric_cast<unsigned int>(input.shape()[0]);
- unsigned int inputSize = boost::numeric_cast<unsigned int>(input.shape()[1]);
+ unsigned int batchSize = armnn::numeric_cast<unsigned int>(input.shape()[0]);
+ unsigned int inputSize = armnn::numeric_cast<unsigned int>(input.shape()[1]);
- unsigned int outputSize = boost::numeric_cast<unsigned int>(outputExpected.shape()[1]);
+ unsigned int outputSize = armnn::numeric_cast<unsigned int>(outputExpected.shape()[1]);
const unsigned int cellSize = outputSize;
@@ -1560,9 +1561,9 @@ LayerTestResult<uint8_t, 2> QuantizedLstmTestImpl(
const boost::multi_array<uint8_t, 2>& outputExpected)
{
IgnoreUnused(memoryManager);
- auto numBatches = boost::numeric_cast<unsigned int>(input.shape()[0]);
- auto inputSize = boost::numeric_cast<unsigned int>(input.shape()[1]);
- auto outputSize = boost::numeric_cast<unsigned int>(outputExpected.shape()[1]);
+ auto numBatches = armnn::numeric_cast<unsigned int>(input.shape()[0]);
+ auto inputSize = armnn::numeric_cast<unsigned int>(input.shape()[1]);
+ auto outputSize = armnn::numeric_cast<unsigned int>(outputExpected.shape()[1]);
// Scale/Offset for input/output, cellState In/Out, weights, bias
float inputOutputScale = 0.0078125f;
diff --git a/src/backends/backendsCommon/test/layerTests/NormalizationTestImpl.cpp b/src/backends/backendsCommon/test/layerTests/NormalizationTestImpl.cpp
index b42b180dc9..2e8e16f0c2 100644
--- a/src/backends/backendsCommon/test/layerTests/NormalizationTestImpl.cpp
+++ b/src/backends/backendsCommon/test/layerTests/NormalizationTestImpl.cpp
@@ -8,6 +8,8 @@
#include <armnn/Exceptions.hpp>
#include <armnn/LayerSupport.hpp>
+#include <armnn/utility/NumericCast.hpp>
+
#include <backendsCommon/CpuTensorHandle.hpp>
#include <backendsCommon/test/TensorCopyUtils.hpp>
@@ -102,7 +104,7 @@ LayerTestResult<float,4> SimpleNormalizationTestImpl(
// pow((kappa + (accumulatedScale * alpha)), beta)
// ...where accumulatedScale is the sum of every element squared.
float divisor[inputNum];
- for(int i = 0; i < boost::numeric_cast<int>(inputNum); i++)
+ for(int i = 0; i < armnn::numeric_cast<int>(inputNum); i++)
{
float accumulatedScale = input[i][0][0][0]*input[i][0][0][0] +
input[i][0][0][1]*input[i][0][0][1] +
@@ -129,11 +131,11 @@ LayerTestResult<float,4> SimpleNormalizationTestImpl(
// ...where adjacent channels means within half the normSize for the channel
// The test data has only one channel, so this is simplified below.
std::vector<float> outputVector;
- for (int n = 0; n < boost::numeric_cast<int>(inputNum); ++n)
+ for (int n = 0; n < armnn::numeric_cast<int>(inputNum); ++n)
{
- for (int h = 0; h < boost::numeric_cast<int>(inputHeight); ++h)
+ for (int h = 0; h < armnn::numeric_cast<int>(inputHeight); ++h)
{
- for (int w = 0; w < boost::numeric_cast<int>(inputWidth); ++w)
+ for (int w = 0; w < armnn::numeric_cast<int>(inputWidth); ++w)
{
float accumulatedScale = input[n][0][h][w]*input[n][0][h][w];
float scale = powf((kappa + accumulatedScale * alpha), -beta);
diff --git a/src/backends/backendsCommon/test/layerTests/Pooling2dTestImpl.cpp b/src/backends/backendsCommon/test/layerTests/Pooling2dTestImpl.cpp
index a4f87ff3ed..70e2e61475 100644
--- a/src/backends/backendsCommon/test/layerTests/Pooling2dTestImpl.cpp
+++ b/src/backends/backendsCommon/test/layerTests/Pooling2dTestImpl.cpp
@@ -15,6 +15,7 @@
#include <armnnUtils/Permute.hpp>
#include <armnn/utility/IgnoreUnused.hpp>
+#include <armnn/utility/NumericCast.hpp>
#include <backendsCommon/WorkloadInfo.hpp>
@@ -48,15 +49,15 @@ LayerTestResult<T, 4> SimplePooling2dTestImpl(
auto widthIndex = dimensionIndices.GetWidthIndex();
auto channelsIndex = dimensionIndices.GetChannelsIndex();
- unsigned int inputHeight = boost::numeric_cast<unsigned int>(input.shape()[heightIndex]);
- unsigned int inputWidth = boost::numeric_cast<unsigned int>(input.shape()[widthIndex]);
- unsigned int inputChannels = boost::numeric_cast<unsigned int>(input.shape()[channelsIndex]);
- unsigned int inputBatchSize = boost::numeric_cast<unsigned int>(input.shape()[0]);
+ unsigned int inputHeight = armnn::numeric_cast<unsigned int>(input.shape()[heightIndex]);
+ unsigned int inputWidth = armnn::numeric_cast<unsigned int>(input.shape()[widthIndex]);
+ unsigned int inputChannels = armnn::numeric_cast<unsigned int>(input.shape()[channelsIndex]);
+ unsigned int inputBatchSize = armnn::numeric_cast<unsigned int>(input.shape()[0]);
- unsigned int outputHeight = boost::numeric_cast<unsigned int>(outputExpected.shape()[heightIndex]);
- unsigned int outputWidth = boost::numeric_cast<unsigned int>(outputExpected.shape()[widthIndex]);
- unsigned int outputChannels = boost::numeric_cast<unsigned int>(outputExpected.shape()[channelsIndex]);
- unsigned int outputBatchSize = boost::numeric_cast<unsigned int>(outputExpected.shape()[0]);
+ unsigned int outputHeight = armnn::numeric_cast<unsigned int>(outputExpected.shape()[heightIndex]);
+ unsigned int outputWidth = armnn::numeric_cast<unsigned int>(outputExpected.shape()[widthIndex]);
+ unsigned int outputChannels = armnn::numeric_cast<unsigned int>(outputExpected.shape()[channelsIndex]);
+ unsigned int outputBatchSize = armnn::numeric_cast<unsigned int>(outputExpected.shape()[0]);
armnn::TensorInfo inputTensorInfo = armnnUtils::GetTensorInfo(
inputBatchSize, inputChannels, inputHeight, inputWidth, dataLayout, ArmnnType);