fix the infinite loop in tf importer.

This commit is contained in:
Zihao Mu 2022-10-31 20:10:25 +08:00
parent 87360c2ae5
commit 18fbb72f7d

View File

@ -829,12 +829,19 @@ void RemoveIdentityOps(tensorflow::GraphDef& net)
IdentityOpsMap::iterator it = identity_ops.find(input_op_name);
if (it != identity_ops.end()) {
std::set<String> loopCheckSet;
// In case of Identity after Identity
while (true)
{
IdentityOpsMap::iterator nextIt = identity_ops.find(it->second);
if (nextIt != identity_ops.end())
{
// Loop check
if (loopCheckSet.find(it->second) != loopCheckSet.end())
CV_Error(Error::StsError, "Found a loop in your input Tensorflow model, which is illegal!");
loopCheckSet.insert(it->second);
it = nextIt;
}
else
break;
}