提交 993b9af7 编写于 作者: A Alexander Alekhin

Merge pull request #16270 from dkurt:dnn_sort_tf_text_graphs

......@@ -950,6 +950,7 @@ void sortByExecutionOrder(tensorflow::GraphDef& net)
for (int i = 0; i < net.node_size(); ++i)
{
const tensorflow::NodeDef& node = net.node(i);
int numInputsInGraph = 0;
for (int j = 0; j < node.input_size(); ++j)
{
std::string inpName = node.input(j);
......@@ -957,22 +958,25 @@ void sortByExecutionOrder(tensorflow::GraphDef& net)
inpName = inpName.substr(inpName.find('^') + 1);
nodesMapIt = nodesMap.find(inpName);
CV_Assert(nodesMapIt != nodesMap.end());
edges[nodesMapIt->second].push_back(i);
if (nodesMapIt != nodesMap.end())
{
edges[nodesMapIt->second].push_back(i);
numInputsInGraph += 1;
}
}
if (node.input_size() == 0)
if (numInputsInGraph == 0)
nodesToAdd.push_back(i);
else
{
if (node.op() == "Merge" || node.op() == "RefMerge")
{
int numControlEdges = 0;
for (int j = 0; j < node.input_size(); ++j)
for (int j = 0; j < numInputsInGraph; ++j)
numControlEdges += node.input(j)[0] == '^';
numRefsToAdd[i] = numControlEdges + 1;
}
else
numRefsToAdd[i] = node.input_size();
numRefsToAdd[i] = numInputsInGraph;
}
}
......
......@@ -715,6 +715,10 @@ void TFImporter::populateNet(Net dstNet)
simplifySubgraphs(netBin);
sortByExecutionOrder(netBin);
}
else
{
sortByExecutionOrder(netTxt);
}
std::set<String> layers_to_ignore;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册