aboutsummaryrefslogtreecommitdiff
path: root/src/armnnTfParser/TfParser.cpp
diff options
context:
space:
mode:
authorJan Eilers <jan.eilers@arm.com>2020-04-02 13:56:54 +0100
committerJan Eilers <jan.eilers@arm.com>2020-04-10 10:11:11 +0100
commitbb446e576e120512d5752a5d6dc1ddc636f563ba (patch)
tree147d0b5f2886af208199a24704afd845a4825bf8 /src/armnnTfParser/TfParser.cpp
parente5d0b93b152a26faf93538eb719d03e5b477d670 (diff)
downloadarmnn-bb446e576e120512d5752a5d6dc1ddc636f563ba.tar.gz
IVGCVSW-4483 Remove boost::polymorphic_downcast
* exchange boost::polymorphic_downcast with armnn::PolymorphicDowncast * remove unnecessary includes of boost::polymorphic_downcast Signed-off-by: Jan Eilers <jan.eilers@arm.com> Change-Id: Ie603fb82860fe05fee547dc78073230cc62b2e1f
Diffstat (limited to 'src/armnnTfParser/TfParser.cpp')
-rwxr-xr-xsrc/armnnTfParser/TfParser.cpp47
1 files changed, 23 insertions, 24 deletions
diff --git a/src/armnnTfParser/TfParser.cpp b/src/armnnTfParser/TfParser.cpp
index 491a9648cd..7a7c5a4375 100755
--- a/src/armnnTfParser/TfParser.cpp
+++ b/src/armnnTfParser/TfParser.cpp
@@ -12,6 +12,7 @@
#include <armnnUtils/DataLayoutIndexed.hpp>
#include <armnnUtils/Transpose.hpp>
#include <armnn/utility/IgnoreUnused.hpp>
+#include <armnn/utility/PolymorphicDowncast.hpp>
#include <GraphTopologicalSort.hpp>
#include <ParserHelper.hpp>
@@ -22,10 +23,8 @@
#include <tensorflow/core/framework/graph.pb.h>
#include <boost/format.hpp>
-#include <boost/format.hpp>
#include <boost/numeric/conversion/cast.hpp>
-#include <boost/polymorphic_cast.hpp>
-
+#include <armnn/utility/PolymorphicDowncast.hpp>
#include <numeric>
using namespace armnnUtils;
@@ -1220,7 +1219,7 @@ ParsedTfOperationPtr TfParser::ParseConv2D(const tensorflow::NodeDef& nodeDef,
% CHECK_LOCATION().AsString()));
}
ParsedConstTfOperation<float>* weightNode =
- boost::polymorphic_downcast<ParsedConstTfOperation<float> *>(inputs[1].m_IndexedValue);
+ PolymorphicDowncast<ParsedConstTfOperation<float> *>(inputs[1].m_IndexedValue);
std::string paddingString = ReadMandatoryNodeStringAttribute(nodeDef, "padding");
std::string dataFormat = ReadMandatoryNodeStringAttribute(nodeDef, "data_format");
@@ -1364,7 +1363,7 @@ ParsedTfOperationPtr TfParser::ParseDepthwiseConv2D(const tensorflow::NodeDef& n
}
ParsedConstTfOperation<float>* weightNode =
- boost::polymorphic_downcast<ParsedConstTfOperation<float> *>(inputs[1].m_IndexedValue);
+ PolymorphicDowncast<ParsedConstTfOperation<float> *>(inputs[1].m_IndexedValue);
std::string paddingString = ReadMandatoryNodeStringAttribute(nodeDef, "padding");
std::string dataFormat = ReadMandatoryNodeStringAttribute(nodeDef, "data_format");
@@ -1578,7 +1577,7 @@ ParsedTfOperationPtr TfParser::ParseFusedBatchNorm(const tensorflow::NodeDef& no
% CHECK_LOCATION().AsString()));
}
ParsedConstTfOperation<float>* scaleNode =
- boost::polymorphic_downcast<ParsedConstTfOperation<float> *>(inputs[1].m_IndexedValue);
+ PolymorphicDowncast<ParsedConstTfOperation<float> *>(inputs[1].m_IndexedValue);
if (!HasParsedConstTensor<float>(inputs[2].m_IndexedValue->GetNode().name()))
{
@@ -1592,7 +1591,7 @@ ParsedTfOperationPtr TfParser::ParseFusedBatchNorm(const tensorflow::NodeDef& no
% CHECK_LOCATION().AsString()));
}
ParsedConstTfOperation<float>* offsetNode =
- boost::polymorphic_downcast<ParsedConstTfOperation<float> *>(inputs[2].m_IndexedValue);
+ PolymorphicDowncast<ParsedConstTfOperation<float> *>(inputs[2].m_IndexedValue);
if (!HasParsedConstTensor<float>(inputs[3].m_IndexedValue->GetNode().name()))
{
@@ -1606,7 +1605,7 @@ ParsedTfOperationPtr TfParser::ParseFusedBatchNorm(const tensorflow::NodeDef& no
% CHECK_LOCATION().AsString()));
}
ParsedConstTfOperation<float>* meanNode =
- boost::polymorphic_downcast<ParsedConstTfOperation<float> *>(inputs[3].m_IndexedValue);
+ PolymorphicDowncast<ParsedConstTfOperation<float> *>(inputs[3].m_IndexedValue);
if (!HasParsedConstTensor<float>(inputs[4].m_IndexedValue->GetNode().name()))
{
@@ -1620,7 +1619,7 @@ ParsedTfOperationPtr TfParser::ParseFusedBatchNorm(const tensorflow::NodeDef& no
% CHECK_LOCATION().AsString()));
}
ParsedConstTfOperation<float>* varianceNode =
- boost::polymorphic_downcast<ParsedConstTfOperation<float> *>(inputs[4].m_IndexedValue);
+ PolymorphicDowncast<ParsedConstTfOperation<float> *>(inputs[4].m_IndexedValue);
const std::string dataFormat = ReadOptionalNodeStringAttribute(nodeDef, "data_format", "NHWC");
CHECK_DATA_FORMAT(nodeDef, dataFormat, "FusedBatchNorm");
@@ -1689,7 +1688,7 @@ bool TfParser::IsSupportedLeakyReluPattern(const tensorflow::NodeDef& mulNodeDef
if (HasParsedConstTensor<float>(inputs[alphaLayerIndex].m_IndexedValue->GetNode().name()))
{
ParsedConstTfOperation<float>* alpha =
- boost::polymorphic_downcast<ParsedConstTfOperation<float> *>(
+ PolymorphicDowncast<ParsedConstTfOperation<float> *>(
inputs[alphaLayerIndex].m_IndexedValue);
std::vector<float> const_data;
@@ -2079,7 +2078,7 @@ ParsedTfOperationPtr TfParser::ParseTranspose(const tensorflow::NodeDef& nodeDef
const auto constInput = inputs[GetConstInputIndex(inputs)];
auto* permuteVectorInput =
- boost::polymorphic_downcast<ParsedConstTfOperation<int32_t>*>(constInput.m_IndexedValue);
+ PolymorphicDowncast<ParsedConstTfOperation<int32_t>*>(constInput.m_IndexedValue);
const auto& permuteVectorInfo = permuteVectorInput->GetTensorInfo();
std::vector<int32_t> permuteVectorData;
@@ -2177,7 +2176,7 @@ ParsedTfOperationPtr TfParser::ParsePad(const tensorflow::NodeDef& nodeDef,
}
ParsedConstTfOperation<int32_t>* paddingTensorOp =
- boost::polymorphic_downcast<ParsedConstTfOperation<int32_t>*>(inputs[1].m_IndexedValue);
+ PolymorphicDowncast<ParsedConstTfOperation<int32_t>*>(inputs[1].m_IndexedValue);
std::vector<int32_t> paddingTensorData;
ConstTensor paddingTensor = paddingTensorOp->GetConstTensor(paddingTensorData);
@@ -2244,7 +2243,7 @@ ParsedTfOperationPtr TfParser::ParseConcat(const tensorflow::NodeDef& nodeDef,
unsigned int index = GetConstInputIndex(inputs);
// Get the axis tensor data
ParsedConstTfOperation<int32_t>* shapeNode =
- boost::polymorphic_downcast<ParsedConstTfOperation<int32_t>*>(inputs[index].m_IndexedValue);
+ PolymorphicDowncast<ParsedConstTfOperation<int32_t>*>(inputs[index].m_IndexedValue);
std::vector<int32_t> axisTensorData;
shapeNode->GetConstTensor(axisTensorData);
@@ -2377,7 +2376,7 @@ ParsedTfOperationPtr TfParser::ParseReshape(const tensorflow::NodeDef& nodeDef,
% CHECK_LOCATION().AsString()));
}
ParsedConstTfOperation<int32_t>* shapeNode =
- boost::polymorphic_downcast<ParsedConstTfOperation<int32_t>*>(inputs[1].m_IndexedValue);
+ PolymorphicDowncast<ParsedConstTfOperation<int32_t>*>(inputs[1].m_IndexedValue);
armnn::IOutputSlot& prevLayerOutputSlot = inputNode->ResolveArmnnOutputSlot(inputs[0].m_Index);
TensorInfo inputTensorInfo = prevLayerOutputSlot.GetTensorInfo();
@@ -2415,7 +2414,7 @@ ParsedTfOperationPtr TfParser::ParseResizeBilinear(const tensorflow::NodeDef& no
% CHECK_LOCATION().AsString()));
}
ParsedConstTfOperation<int32_t>* sizeNode =
- boost::polymorphic_downcast<ParsedConstTfOperation<int32_t>*>(inputs[1].m_IndexedValue);
+ PolymorphicDowncast<ParsedConstTfOperation<int32_t>*>(inputs[1].m_IndexedValue);
// Checks the align_corners attribute is not set.
if (ReadOptionalNodeBoolAttribute(nodeDef, "align_corners", false))
@@ -2630,7 +2629,7 @@ ParsedTfOperationPtr TfParser::ParseMean(const tensorflow::NodeDef& nodeDef, con
bool keepDims = ReadMandatoryNodeBoolAttribute(nodeDef, "keep_dims");
ParsedConstTfOperation<int32_t>* axisNode =
- boost::polymorphic_downcast<ParsedConstTfOperation<int32_t>*>(inputs[1].m_IndexedValue);
+ PolymorphicDowncast<ParsedConstTfOperation<int32_t>*>(inputs[1].m_IndexedValue);
const TensorInfo& axisTensorInfo = axisNode->GetTensorInfo();
@@ -2810,7 +2809,7 @@ ParsedTfOperationPtr TfParser::ParseSplit(const tensorflow::NodeDef& nodeDef,
unsigned int index = GetConstInputIndex(inputs);
// Get the axis tensor data
ParsedConstTfOperation<int32_t>* shapeNode =
- boost::polymorphic_downcast<ParsedConstTfOperation<int32_t>*>(inputs[index].m_IndexedValue);
+ PolymorphicDowncast<ParsedConstTfOperation<int32_t>*>(inputs[index].m_IndexedValue);
std::vector<int32_t> axisTensorData;
shapeNode->GetConstTensor(axisTensorData);
@@ -2913,17 +2912,17 @@ ParsedTfOperationPtr TfParser::ParseStridedSlice(const tensorflow::NodeDef& node
std::vector<OutputOfParsedTfOperation> inputs = GetInputParsedTfOperationsChecked(nodeDef, numInputs);
ParsedConstTfOperation<int32_t>* beginNode =
- boost::polymorphic_downcast<ParsedConstTfOperation<int32_t> *>(inputs[1].m_IndexedValue);
+ PolymorphicDowncast<ParsedConstTfOperation<int32_t> *>(inputs[1].m_IndexedValue);
std::vector<int32_t> beginTensorData;
beginNode->GetConstTensor(beginTensorData);
ParsedConstTfOperation<int32_t>* endNode =
- boost::polymorphic_downcast<ParsedConstTfOperation<int32_t> *>(inputs[2].m_IndexedValue);
+ PolymorphicDowncast<ParsedConstTfOperation<int32_t> *>(inputs[2].m_IndexedValue);
std::vector<int32_t> endTensorData;
endNode->GetConstTensor(endTensorData);
ParsedConstTfOperation<int32_t>* stridesNode =
- boost::polymorphic_downcast<ParsedConstTfOperation<int32_t> *>(inputs[3].m_IndexedValue);
+ PolymorphicDowncast<ParsedConstTfOperation<int32_t> *>(inputs[3].m_IndexedValue);
std::vector<int32_t> stridesTensorData;
stridesNode->GetConstTensor(stridesTensorData);
@@ -3311,11 +3310,11 @@ IConnectableLayer* TfParser::AddFullyConnectedLayer(const tensorflow::NodeDef& m
// Finds our inputs.
if (HasParsedConstTensor<float>(addInputs[0].m_IndexedValue->GetNode().name()))
{
- biasNode = boost::polymorphic_downcast<ParsedConstTfOperation<float>*>(addInputs[0].m_IndexedValue);
+ biasNode = PolymorphicDowncast<ParsedConstTfOperation<float>*>(addInputs[0].m_IndexedValue);
}
else if (HasParsedConstTensor<float>(addInputs[1].m_IndexedValue->GetNode().name()))
{
- biasNode = boost::polymorphic_downcast<ParsedConstTfOperation<float>*>(addInputs[1].m_IndexedValue);
+ biasNode = PolymorphicDowncast<ParsedConstTfOperation<float>*>(addInputs[1].m_IndexedValue);
}
else
{
@@ -3339,13 +3338,13 @@ IConnectableLayer* TfParser::AddFullyConnectedLayer(const tensorflow::NodeDef& m
std::vector<OutputOfParsedTfOperation> mulInputs = GetInputParsedTfOperationsChecked(matMulNodeDef, 2);
if (HasParsedConstTensor<float>(mulInputs[0].m_IndexedValue->GetNode().name()))
{
- weightNode = boost::polymorphic_downcast<ParsedConstTfOperation<float>*>(mulInputs[0].m_IndexedValue);
+ weightNode = PolymorphicDowncast<ParsedConstTfOperation<float>*>(mulInputs[0].m_IndexedValue);
inputNode = mulInputs[1].m_IndexedValue;
inputIdx = mulInputs[1].m_Index;
}
else if (HasParsedConstTensor<float>(mulInputs[1].m_IndexedValue->GetNode().name()))
{
- weightNode = boost::polymorphic_downcast<ParsedConstTfOperation<float>*>(mulInputs[1].m_IndexedValue);
+ weightNode = PolymorphicDowncast<ParsedConstTfOperation<float>*>(mulInputs[1].m_IndexedValue);
inputNode = mulInputs[0].m_IndexedValue;
inputIdx = mulInputs[0].m_Index;
}