mirror of
https://github.com/opencv/opencv.git
synced 2025-06-11 20:09:23 +08:00
Merge pull request #16905 from dkurt:dnn_tf2_keras
This commit is contained in:
commit
adf54d41d5
@ -682,6 +682,15 @@ void RemoveIdentityOps(tensorflow::GraphDef& net)
|
|||||||
IdentityOpsMap::iterator it = identity_ops.find(input_op_name);
|
IdentityOpsMap::iterator it = identity_ops.find(input_op_name);
|
||||||
|
|
||||||
if (it != identity_ops.end()) {
|
if (it != identity_ops.end()) {
|
||||||
|
// In case of Identity after Identity
|
||||||
|
while (true)
|
||||||
|
{
|
||||||
|
IdentityOpsMap::iterator nextIt = identity_ops.find(it->second);
|
||||||
|
if (nextIt != identity_ops.end())
|
||||||
|
it = nextIt;
|
||||||
|
else
|
||||||
|
break;
|
||||||
|
}
|
||||||
layer->set_input(input_id, it->second);
|
layer->set_input(input_id, it->second);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -847,7 +856,7 @@ void sortByExecutionOrder(tensorflow::GraphDef& net)
|
|||||||
nodesToAdd.push_back(i);
|
nodesToAdd.push_back(i);
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (node.op() == "Merge" || node.op() == "RefMerge")
|
if (node.op() == "Merge" || node.op() == "RefMerge" || node.op() == "NoOp")
|
||||||
{
|
{
|
||||||
int numControlEdges = 0;
|
int numControlEdges = 0;
|
||||||
for (int j = 0; j < numInputsInGraph; ++j)
|
for (int j = 0; j < numInputsInGraph; ++j)
|
||||||
@ -896,7 +905,7 @@ void removePhaseSwitches(tensorflow::GraphDef& net)
|
|||||||
{
|
{
|
||||||
const tensorflow::NodeDef& node = net.node(i);
|
const tensorflow::NodeDef& node = net.node(i);
|
||||||
nodesMap.insert(std::make_pair(node.name(), i));
|
nodesMap.insert(std::make_pair(node.name(), i));
|
||||||
if (node.op() == "Switch" || node.op() == "Merge")
|
if (node.op() == "Switch" || node.op() == "Merge" || node.op() == "NoOp")
|
||||||
{
|
{
|
||||||
CV_Assert(node.input_size() > 0);
|
CV_Assert(node.input_size() > 0);
|
||||||
// Replace consumers' inputs.
|
// Replace consumers' inputs.
|
||||||
@ -914,7 +923,7 @@ void removePhaseSwitches(tensorflow::GraphDef& net)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
nodesToRemove.push_back(i);
|
nodesToRemove.push_back(i);
|
||||||
if (node.op() == "Merge" || node.op() == "Switch")
|
if (node.op() == "Merge" || node.op() == "Switch" || node.op() == "NoOp")
|
||||||
mergeOpSubgraphNodes.push(i);
|
mergeOpSubgraphNodes.push(i);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -867,6 +867,11 @@ TEST_P(Test_TensorFlow_layers, resize_bilinear)
|
|||||||
runTensorFlowNet("resize_bilinear_factor");
|
runTensorFlowNet("resize_bilinear_factor");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TEST_P(Test_TensorFlow_layers, tf2_keras)
|
||||||
|
{
|
||||||
|
runTensorFlowNet("tf2_dense");
|
||||||
|
}
|
||||||
|
|
||||||
TEST_P(Test_TensorFlow_layers, squeeze)
|
TEST_P(Test_TensorFlow_layers, squeeze)
|
||||||
{
|
{
|
||||||
#if defined(INF_ENGINE_RELEASE)
|
#if defined(INF_ENGINE_RELEASE)
|
||||||
|
Loading…
Reference in New Issue
Block a user