diff options
Diffstat (limited to 'src/armnnTfParser/TfParser.cpp')
-rw-r--r-- | src/armnnTfParser/TfParser.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/armnnTfParser/TfParser.cpp b/src/armnnTfParser/TfParser.cpp index 7c8e01b112..834c0dd41b 100644 --- a/src/armnnTfParser/TfParser.cpp +++ b/src/armnnTfParser/TfParser.cpp @@ -475,10 +475,23 @@ TfParser::GetTfInputNodes(const tensorflow::NodeDef& nodeDef) const { std::vector<OutputOfConstNodeDef> ret; + if (nodeDef.op() == "Const") + { + // For some reason const node can have "Control Inputs". We ignore them for now. + return ret; + } + ret.reserve(boost::numeric_cast<size_t>(nodeDef.input_size())); for (int j = 0; j < nodeDef.input_size(); ++j) { OutputId outputId = ParseOutputId(nodeDef.input(j)); + + if (nodeDef.input(j)[0] == '^') // I couldn't find a better test for control inputs. + { + throw ParseException( + "Node '" + nodeDef.name() + "' has Control Input '" + nodeDef.input(j) + "' which is unsupported."); + } + auto inputIt = m_NodesByName.find(outputId.m_IndexedValue); if (inputIt == m_NodesByName.end()) { |