From 589e3e81a86c83456580e112978bf7a0ed5f43ac Mon Sep 17 00:00:00 2001 From: Matthew Sloyan Date: Fri, 11 Sep 2020 16:17:48 +0100 Subject: IVGCVSW-5302 Remove some boost::numeric_cast from parsers * Replaced with armnn/utility/NumericCast.hpp * Exclusions in armnnCaffeParser * Three excluded as requires float implementation in NumericCast.hpp Signed-off-by: Matthew Sloyan Change-Id: Ib468b606238694334a8319d0ed5db381ce37a915 --- src/armnnCaffeParser/CaffeParser.cpp | 51 +++++++++++----------- src/armnnCaffeParser/RecordByRecordCaffeParser.cpp | 18 ++++---- src/armnnOnnxParser/OnnxParser.cpp | 4 +- src/armnnTfLiteParser/TfLiteParser.cpp | 23 +++++----- src/armnnTfLiteParser/test/Unsupported.cpp | 9 ++-- src/armnnTfParser/TfParser.cpp | 14 +++--- 6 files changed, 59 insertions(+), 60 deletions(-) diff --git a/src/armnnCaffeParser/CaffeParser.cpp b/src/armnnCaffeParser/CaffeParser.cpp index b8ce470505..d50846abab 100644 --- a/src/armnnCaffeParser/CaffeParser.cpp +++ b/src/armnnCaffeParser/CaffeParser.cpp @@ -14,6 +14,7 @@ #include "VerificationHelpers.hpp" #include +#include #include #include @@ -66,7 +67,7 @@ namespace const float* GetArrayPtrFromBlob(const LayerParameter& layerParam, unsigned int blobIndex) { auto nBlobs = layerParam.blobs_size(); - if (blobIndex >= boost::numeric_cast(nBlobs)) + if (blobIndex >= armnn::numeric_cast(nBlobs)) { throw ParseException( boost::str( @@ -78,7 +79,7 @@ const float* GetArrayPtrFromBlob(const LayerParameter& layerParam, unsigned int CHECK_LOCATION().AsString())); } - const BlobProto& blob = layerParam.blobs(boost::numeric_cast(blobIndex)); + const BlobProto& blob = layerParam.blobs(armnn::numeric_cast(blobIndex)); const float* arrayPtr = blob.data().data(); return arrayPtr; @@ -87,7 +88,7 @@ const float* GetArrayPtrFromBlob(const LayerParameter& layerParam, unsigned int void GetDataFromBlob(const LayerParameter& layerParam, vector& outData, unsigned int blobIndex) { auto nBlobs = layerParam.blobs_size(); - if (blobIndex >= boost::numeric_cast(nBlobs)) + if (blobIndex >= armnn::numeric_cast(nBlobs)) { throw ParseException( boost::str( @@ -98,9 +99,9 @@ void GetDataFromBlob(const LayerParameter& layerParam, vector& outData, u CHECK_LOCATION().AsString())); } - const BlobProto& blob = layerParam.blobs(boost::numeric_cast(blobIndex)); + const BlobProto& blob = layerParam.blobs(armnn::numeric_cast(blobIndex)); - size_t blobSize = boost::numeric_cast(blob.data_size()); + size_t blobSize = armnn::numeric_cast(blob.data_size()); if (blobSize != outData.size()) { throw ParseException( @@ -115,7 +116,7 @@ void GetDataFromBlob(const LayerParameter& layerParam, vector& outData, u CHECK_LOCATION().AsString())); } - int outSizeInt = boost::numeric_cast(outData.size()); + int outSizeInt = armnn::numeric_cast(outData.size()); for (int i = 0; i < outSizeInt; ++i) { outData[static_cast(i)] = blob.data(i); @@ -133,7 +134,7 @@ void ValidateNumInputsOutputs(const caffe::LayerParameter& layerParameter, unsigned int numOutputs) { int numInputsActual = layerParameter.bottom_size(); - if (numInputs != boost::numeric_cast(numInputsActual)) + if (numInputs != armnn::numeric_cast(numInputsActual)) { throw ParseException( boost::str( @@ -146,7 +147,7 @@ void ValidateNumInputsOutputs(const caffe::LayerParameter& layerParameter, } int numOutputsActual = layerParameter.top_size(); - if (numOutputs != boost::numeric_cast(numOutputsActual)) + if (numOutputs != armnn::numeric_cast(numOutputsActual)) { throw ParseException( boost::str( @@ -320,7 +321,7 @@ TensorInfo CaffeParserBase::BlobShapeToTensorInfo(const caffe::BlobShape& blobSh shape.push_back(static_cast(blobShape.dim(j))); } - return TensorInfo(boost::numeric_cast(shape.size()), shape.data(), DataType::Float32); + return TensorInfo(armnn::numeric_cast(shape.size()), shape.data(), DataType::Float32); } BlobShape TensorDescToBlobShape(const TensorInfo& desc) @@ -329,7 +330,7 @@ BlobShape TensorDescToBlobShape(const TensorInfo& desc) for (unsigned int i = 0; i < desc.GetNumDimensions(); ++i) { ret.add_dim(i); - ret.set_dim(boost::numeric_cast(i), desc.GetShape()[i]); + ret.set_dim(armnn::numeric_cast(i), desc.GetShape()[i]); } return ret; @@ -340,7 +341,7 @@ BlobShape TensorDescToBlobShape(const TensorInfo& desc) vector CaffeParserBase::GetInputs(const LayerParameter& layerParam) { std::vector ret; - ret.reserve(boost::numeric_cast(layerParam.bottom_size())); + ret.reserve(armnn::numeric_cast(layerParam.bottom_size())); for (int j = 0; j < layerParam.bottom_size(); ++j) { std::string inputName = layerParam.bottom(j); @@ -369,7 +370,7 @@ void CaffeParserBase::ParseInputLayer(const LayerParameter& layerParam) const InputParameter& param = layerParam.input_param(); - const armnn::LayerBindingId inputId = boost::numeric_cast( + const armnn::LayerBindingId inputId = armnn::numeric_cast( m_NetworkInputsBindingInfo.size()); armnn::IConnectableLayer* const inputLayer = m_Network->AddInputLayer(inputId, layerParam.name().c_str()); @@ -504,7 +505,7 @@ void CaffeParserBase::AddConvLayerWithSplits(const caffe::LayerParameter& layerP static_cast(desc.m_StrideX)) + 1)); // Load the weight data for ALL groups - vector weightData(boost::numeric_cast(numGroups * + vector weightData(armnn::numeric_cast(numGroups * inputShape.dim(1) * // number of input channels outputShape.dim(1) * // number of output channels kernelH * @@ -522,15 +523,15 @@ void CaffeParserBase::AddConvLayerWithSplits(const caffe::LayerParameter& layerP if (desc.m_BiasEnabled) { - biasData.resize(boost::numeric_cast(numGroups * outputShape.dim(1)), 1.f); + biasData.resize(armnn::numeric_cast(numGroups * outputShape.dim(1)), 1.f); GetDataFromBlob(layerParam, biasData, 1); const unsigned int biasDimSizes[1] = {static_cast(outputShape.dim(1))}; biasInfo = TensorInfo(1, biasDimSizes, DataType::Float32); } - const unsigned int numWeightsPerGroup = boost::numeric_cast(weightData.size()) / numGroups; - const unsigned int numBiasesPerGroup = boost::numeric_cast(biasData.size()) / numGroups; + const unsigned int numWeightsPerGroup = armnn::numeric_cast(weightData.size()) / numGroups; + const unsigned int numBiasesPerGroup = armnn::numeric_cast(biasData.size()) / numGroups; for (unsigned int g = 0; g < numGroups; ++g) { @@ -648,7 +649,7 @@ void CaffeParserBase::AddConvLayerWithDepthwiseConv(const caffe::LayerParameter& static_cast(desc.m_StrideX)) + 1)); // Load the weight data - size_t allWeightsSize = boost::numeric_cast(inputShape.dim(1) * kernelH * kernelW); + size_t allWeightsSize = armnn::numeric_cast(inputShape.dim(1) * kernelH * kernelW); vector weightData(allWeightsSize); GetDataFromBlob(layerParam, weightData, 0); @@ -668,7 +669,7 @@ void CaffeParserBase::AddConvLayerWithDepthwiseConv(const caffe::LayerParameter& { TensorInfo biasInfo; - biasData.resize(boost::numeric_cast(outputShape.dim(1)), 1.f); + biasData.resize(armnn::numeric_cast(outputShape.dim(1)), 1.f); GetDataFromBlob(layerParam, biasData, 1); const unsigned int biasDimSizes[1] = {static_cast(outputShape.dim(1))}; @@ -824,7 +825,7 @@ void CaffeParserBase::ParseConvLayer(const LayerParameter& layerParam) static_cast(strideW)) + 1)); // Load the weight data for ALL groups - vector weightData(boost::numeric_cast(inputShape.dim(1) * + vector weightData(armnn::numeric_cast(inputShape.dim(1) * outputShape.dim(1) * kernelH * kernelW)); @@ -846,7 +847,7 @@ void CaffeParserBase::ParseConvLayer(const LayerParameter& layerParam) { TensorInfo biasInfo; - biasData.resize(boost::numeric_cast(outputShape.dim(1)), 1.f); + biasData.resize(armnn::numeric_cast(outputShape.dim(1)), 1.f); GetDataFromBlob(layerParam, biasData, 1); const unsigned int biasDimSizes[1] = {static_cast(outputShape.dim(1))}; @@ -1290,7 +1291,7 @@ void CaffeParserBase::ParseConcatLayer(const LayerParameter& layerParam) for (unsigned int viewIndex = 0; viewIndex < numInputs; ++viewIndex) { const TensorInfo& inputInfo = GetArmnnOutputSlotForCaffeTop( - layerParam.bottom(boost::numeric_cast(viewIndex))).GetTensorInfo(); + layerParam.bottom(armnn::numeric_cast(viewIndex))).GetTensorInfo(); // Checks whether the dimensions of the input tensors are actually 4. if (inputInfo.GetNumDimensions()!=4) { @@ -1328,7 +1329,7 @@ void CaffeParserBase::ParseConcatLayer(const LayerParameter& layerParam) armnn::IConnectableLayer* concatlayer = m_Network->AddConcatLayer(concatDescriptor, layerParam.name().c_str()); for (unsigned int i = 0; i < numInputs; ++i) { - armnn::IOutputSlot& outputSlot = GetArmnnOutputSlotForCaffeTop(layerParam.bottom(boost::numeric_cast(i))); + armnn::IOutputSlot& outputSlot = GetArmnnOutputSlotForCaffeTop(layerParam.bottom(armnn::numeric_cast(i))); outputSlot.Connect(concatlayer->GetInputSlot(i)); } @@ -1375,8 +1376,8 @@ void CaffeParserBase::ParseBatchNormLayer(const LayerParameter& layerParam) GetDataFromBlob(layerParam, varianceData, 1); // Reads moving average factor and applies scaling (if required). - const BlobProto& blob = layerParam.blobs(boost::numeric_cast(2)); - const float movingAverageFactor = blob.data(boost::numeric_cast(0)); + const BlobProto& blob = layerParam.blobs(armnn::numeric_cast(2)); + const float movingAverageFactor = blob.data(armnn::numeric_cast(0)); if(movingAverageFactor != 0.0f) { const float scaleFactor = 1.0f / movingAverageFactor; @@ -1722,7 +1723,7 @@ void CaffeParserBase::LoadNetParam(NetParameter& netParameter) { armnn::IOutputSlot& outputSlot = GetArmnnOutputSlotForCaffeTop(requestedOutput); - const armnn::LayerBindingId outputId = boost::numeric_cast( + const armnn::LayerBindingId outputId = armnn::numeric_cast( m_NetworkOutputsBindingInfo.size()); armnn::IConnectableLayer* const outputLayer = m_Network->AddOutputLayer(outputId, requestedOutput.c_str()); outputSlot.Connect(outputLayer->GetInputSlot(0)); diff --git a/src/armnnCaffeParser/RecordByRecordCaffeParser.cpp b/src/armnnCaffeParser/RecordByRecordCaffeParser.cpp index cb7943655d..a59725cbd2 100644 --- a/src/armnnCaffeParser/RecordByRecordCaffeParser.cpp +++ b/src/armnnCaffeParser/RecordByRecordCaffeParser.cpp @@ -7,12 +7,10 @@ #include "armnn/Exceptions.hpp" #include "armnn/Utils.hpp" - +#include #include "GraphTopologicalSort.hpp" -#include - // Caffe #include @@ -282,7 +280,7 @@ std::unique_ptr AllocateBuffer(std::ifstream& ifs, VarLenDataInfo& dataI std::unique_ptr ptr(new char[dataInfo.SizeOfData()]); ifs.clear(); ifs.seekg(dataInfo.PositionOfData(), std::ios_base::beg); - ifs.read(ptr.get(), boost::numeric_cast(dataInfo.SizeOfData())); + ifs.read(ptr.get(), armnn::numeric_cast(dataInfo.SizeOfData())); return ptr; } @@ -299,12 +297,12 @@ VarLenDataInfo CreateVarLenDataInfo(std::streamoff bufferStart, std::streamoff e // on the platform in which I am currently compiling std::streamoff is signed long int and // size_t is unsigned long int so there is no way this error condition can fire but this stuff // is supposed to be portable so the check remains in place - if (boost::numeric_cast(sizeOfLayer) > SIZE_MAX) { + if (armnn::numeric_cast(sizeOfLayer) > SIZE_MAX) { std::stringstream ss; ss << "layer is greater than " << SIZE_MAX << " in size cannot process. layer size = [" << sizeOfLayer << "]"; throw armnn::ParseException(ss.str()); } - LayerParameterInfo info(bufferStart, boost::numeric_cast(sizeOfLayer)); + LayerParameterInfo info(bufferStart, armnn::numeric_cast(sizeOfLayer)); return info; } @@ -314,7 +312,7 @@ void ReadTopologicalInfoForLayerParameter(LayerParameterInfo& layerInfo, std::if ifs.clear(); ifs.seekg(layerInfo.PositionOfData(), std::ios_base::beg); std::streamoff endOfLayer = layerInfo.PositionOfData() + - boost::numeric_cast(layerInfo.SizeOfData()); + armnn::numeric_cast(layerInfo.SizeOfData()); while(true) { // check to see if we have reached the end of the record @@ -342,7 +340,7 @@ void ReadTopologicalInfoForLayerParameter(LayerParameterInfo& layerInfo, std::if { int size = ReadBase128(ifs); std::streamoff posStartOfData = ifs.tellg(); - VarLenDataInfo dataInfo(posStartOfData, boost::numeric_cast(size)); + VarLenDataInfo dataInfo(posStartOfData, armnn::numeric_cast(size)); //optional string name = 1; // the layer name //optional string type = 2; // the layer type //repeated string bottom = 3; // the name of each bottom blob @@ -684,7 +682,7 @@ armnn::INetworkPtr RecordByRecordCaffeParser::LoadLayers(std::ifstream& ifs, char *buffer = new char[info->SizeOfData()]; ifs.clear(); ifs.seekg(info->PositionOfData(), std::ios_base::beg); - ifs.read(buffer, boost::numeric_cast(info->SizeOfData())); + ifs.read(buffer, armnn::numeric_cast(info->SizeOfData())); bool bRet = layer.ParseFromArray(buffer, static_cast(info->SizeOfData())); delete[] buffer; if (!bRet) @@ -719,7 +717,7 @@ armnn::INetworkPtr RecordByRecordCaffeParser::LoadLayers(std::ifstream& ifs, { armnn::IOutputSlot& outputSlot = GetArmnnOutputSlotForCaffeTop(requestedOutput); - const armnn::LayerBindingId outputId = boost::numeric_cast( + const armnn::LayerBindingId outputId = armnn::numeric_cast( m_NetworkOutputsBindingInfo.size()); armnn::IConnectableLayer* const outputLayer = m_Network->AddOutputLayer(outputId, requestedOutput.c_str()); outputSlot.Connect(outputLayer->GetInputSlot(0)); diff --git a/src/armnnOnnxParser/OnnxParser.cpp b/src/armnnOnnxParser/OnnxParser.cpp index a07a899488..01ad12448f 100644 --- a/src/armnnOnnxParser/OnnxParser.cpp +++ b/src/armnnOnnxParser/OnnxParser.cpp @@ -6,10 +6,10 @@ #include #include +#include #include #include -#include #include #include @@ -350,7 +350,7 @@ TensorInfo ComputeReshapeInfo(const TensorShape& targetShapeTensor, % CHECK_LOCATION().AsString())); } - auto targetNumElements = boost::numeric_cast(std::accumulate(targetDims.begin(), targetDims.end(), + auto targetNumElements = armnn::numeric_cast(std::accumulate(targetDims.begin(), targetDims.end(), -1, std::multiplies())); auto stretchIndex = static_cast(std::distance(targetDims.begin(), stretchDim)); outDims[stretchIndex] = inShape.GetNumElements() / targetNumElements; diff --git a/src/armnnTfLiteParser/TfLiteParser.cpp b/src/armnnTfLiteParser/TfLiteParser.cpp index 8bc475347c..109c2c2be1 100644 --- a/src/armnnTfLiteParser/TfLiteParser.cpp +++ b/src/armnnTfLiteParser/TfLiteParser.cpp @@ -28,7 +28,6 @@ #include #include -#include #include #include @@ -388,10 +387,10 @@ armnn::TensorInfo ToTensorInfo(TfLiteParser::TensorRawPtr tensorPtr, { // NOTE: we lose precision here when converting from 64 bit to 32 // but this is what we support at the moment in ArmNN - quantizationOffset = boost::numeric_cast(tensorPtr->quantization->zero_point[0]); + quantizationOffset = armnn::numeric_cast(tensorPtr->quantization->zero_point[0]); } - TensorShape tensorShape(boost::numeric_cast(safeShape.size()), + TensorShape tensorShape(armnn::numeric_cast(safeShape.size()), safeShape.data()); if (isDynamic) { @@ -414,7 +413,7 @@ armnn::TensorInfo ToTensorInfo(TfLiteParser::TensorRawPtr tensorPtr, std::back_inserter(quantizationScales)); // QSymmS8 Per-axis - TensorShape tensorShape(boost::numeric_cast(safeShape.size()), + TensorShape tensorShape(armnn::numeric_cast(safeShape.size()), safeShape.data()); if (isDynamic) { @@ -423,14 +422,14 @@ armnn::TensorInfo ToTensorInfo(TfLiteParser::TensorRawPtr tensorPtr, armnn::TensorInfo result(tensorShape, type, quantizationScales, - dimensionMappings[boost::numeric_cast( + dimensionMappings[armnn::numeric_cast( tensorPtr->quantization->quantized_dimension)]); return result; } } else { - TensorShape tensorShape(boost::numeric_cast(safeShape.size()), + TensorShape tensorShape(armnn::numeric_cast(safeShape.size()), safeShape.data()); if (isDynamic) { @@ -866,8 +865,8 @@ void TfLiteParser::ParseUnsupportedOperator(size_t subgraphIndex, size_t operato auto inputs = GetInputs(m_Model, subgraphIndex, operatorIndex); auto outputs = GetOutputs(m_Model, subgraphIndex, operatorIndex); - const unsigned int numInputs = boost::numeric_cast(inputs.size()); - const unsigned int numOutputs = boost::numeric_cast(outputs.size()); + const unsigned int numInputs = armnn::numeric_cast(inputs.size()); + const unsigned int numOutputs = armnn::numeric_cast(outputs.size()); StandInDescriptor descriptor(numInputs, numOutputs); auto layerName = boost::str(boost::format("StandIn:%1%:%2%:%3%") % subgraphIndex % operatorIndex % opcode); @@ -2144,7 +2143,7 @@ armnn::TensorInfo TfLiteParser::OutputShapeOfReshape(const armnn::TensorInfo & i } auto targetNumElements = - boost::numeric_cast( + armnn::numeric_cast( std::accumulate(targetDimsIn.begin(), targetDimsIn.end(), -1, std::multiplies())); auto stretchIndex = static_cast(std::distance(targetDimsIn.begin(), stretchDim)); @@ -2899,14 +2898,14 @@ void TfLiteParser::ParseSplitV(size_t subgraphIndex, size_t operatorIndex) // Check for inferred Axis if (numInferred == 0) { - if (splitSum != numeric_cast(inputTensorInfo.GetShape()[splitDim])) + if (splitSum != armnn::numeric_cast(inputTensorInfo.GetShape()[splitDim])) { throw ParseException("SplitV split_sizes does not sum to the dimension of value along split_dim."); } } else if (numInferred == 1) { - splitsData[inferIdx] = numeric_cast(inputTensorInfo.GetShape()[splitDim]) - splitSum; + splitsData[inferIdx] = armnn::numeric_cast(inputTensorInfo.GetShape()[splitDim]) - splitSum; } else { @@ -2922,7 +2921,7 @@ void TfLiteParser::ParseSplitV(size_t subgraphIndex, size_t operatorIndex) unsigned int accumSplit = 0; for (unsigned int j = 0; j < numSplits; ++j) { - unsigned int splitSize = numeric_cast(splitsData[j]); + unsigned int splitSize = armnn::numeric_cast(splitsData[j]); // Set the size of the views. for (unsigned int dimIdx = 0; dimIdx < inputTensorInfo.GetNumDimensions(); ++dimIdx) diff --git a/src/armnnTfLiteParser/test/Unsupported.cpp b/src/armnnTfLiteParser/test/Unsupported.cpp index dd77bcacb1..b0ac2d60ad 100644 --- a/src/armnnTfLiteParser/test/Unsupported.cpp +++ b/src/armnnTfLiteParser/test/Unsupported.cpp @@ -8,6 +8,7 @@ #include #include +#include #include #include @@ -39,11 +40,11 @@ public: const StandInDescriptor& descriptor, const char*) override { - unsigned int numInputs = boost::numeric_cast(m_InputInfos.size()); + unsigned int numInputs = armnn::numeric_cast(m_InputInfos.size()); BOOST_CHECK(descriptor.m_NumInputs == numInputs); BOOST_CHECK(layer->GetNumInputSlots() == numInputs); - unsigned int numOutputs = boost::numeric_cast(m_OutputInfos.size()); + unsigned int numOutputs = armnn::numeric_cast(m_OutputInfos.size()); BOOST_CHECK(descriptor.m_NumOutputs == numOutputs); BOOST_CHECK(layer->GetNumOutputSlots() == numOutputs); @@ -77,10 +78,10 @@ public: : ParserFlatbuffersFixture() , m_StandInLayerVerifier(inputInfos, outputInfos) { - const unsigned int numInputs = boost::numeric_cast(inputInfos.size()); + const unsigned int numInputs = armnn::numeric_cast(inputInfos.size()); ARMNN_ASSERT(numInputs > 0); - const unsigned int numOutputs = boost::numeric_cast(outputInfos.size()); + const unsigned int numOutputs = armnn::numeric_cast(outputInfos.size()); ARMNN_ASSERT(numOutputs > 0); m_JsonString = R"( diff --git a/src/armnnTfParser/TfParser.cpp b/src/armnnTfParser/TfParser.cpp index 0d7c371eae..8046a5521c 100755 --- a/src/armnnTfParser/TfParser.cpp +++ b/src/armnnTfParser/TfParser.cpp @@ -12,6 +12,7 @@ #include #include #include +#include #include #include @@ -23,7 +24,6 @@ #include #include -#include #include #include @@ -250,7 +250,7 @@ TensorInfo PrepareReshape(const TensorInfo& input, const std::vector& t } auto targetNumElements = - boost::numeric_cast( + armnn::numeric_cast( std::accumulate(targetDims.begin(), targetDims.end(), -1, std::multiplies())); auto stretchIndex = static_cast(std::distance(targetDims.begin(), stretchDim)); outDims[stretchIndex] = input.GetNumElements() / targetNumElements; @@ -563,7 +563,7 @@ TfParser::GetTfInputNodes(const tensorflow::NodeDef& nodeDef) const return ret; } - ret.reserve(boost::numeric_cast(nodeDef.input_size())); + ret.reserve(armnn::numeric_cast(nodeDef.input_size())); for (int j = 0; j < nodeDef.input_size(); ++j) { OutputId outputId = ParseOutputId(nodeDef.input(j)); @@ -1480,7 +1480,7 @@ TensorInfo OutputShapeOfExpandDims(const tensorflow::NodeDef& nodeDef, % CHECK_LOCATION().AsString())); } - std::int32_t inputDimSize = boost::numeric_cast(inputTensorInfo.GetNumDimensions()); + std::int32_t inputDimSize = armnn::numeric_cast(inputTensorInfo.GetNumDimensions()); std::vector outputDims; // expandDim operation requires: -1-input.dims() <= dim <= input.dims() @@ -1503,7 +1503,7 @@ TensorInfo OutputShapeOfExpandDims(const tensorflow::NodeDef& nodeDef, // and insert 1 dimension at index 'expandDim' if (expandDim < 0) { - int outputDimSize = boost::numeric_cast(outputDims.size() + 1); + int outputDimSize = armnn::numeric_cast(outputDims.size() + 1); auto getPosition = std::next(outputDims.begin() + outputDimSize, expandDim); outputDims.insert(getPosition, 1); } @@ -2766,7 +2766,7 @@ ParsedTfOperationPtr TfParser::ParsePlaceholder(const tensorflow::NodeDef& nodeD std::vector inputs = GetInputParsedTfOperationsChecked(nodeDef, 0); - const LayerBindingId layerId = boost::numeric_cast(m_NetworkInputsBindingInfo.size()); + const LayerBindingId layerId = armnn::numeric_cast(m_NetworkInputsBindingInfo.size()); auto it = m_InputShapes.find(nodeDef.name()); if (it == m_InputShapes.end()) @@ -3524,7 +3524,7 @@ void TfParser::LoadNodeDef(const tensorflow::NodeDef& nodeDef, const tensorflow: m_RequestedOutputs.end()) { auto outId = ParseOutputId(nodeDef.name()); - const LayerBindingId layerId = boost::numeric_cast(m_NetworkOutputsBindingInfo.size()); + const LayerBindingId layerId = armnn::numeric_cast(m_NetworkOutputsBindingInfo.size()); IOutputSlot& prevSlot = parsedTfOperationRaw->ResolveArmnnOutputSlot(outId.m_Index); TensorInfo tensorInfo = prevSlot.GetTensorInfo(); -- cgit v1.2.1