| 300 | } |
| 301 | |
| 302 | bool HasControlOutputs(const NodeDef& node, const NodeMap& node_map) { |
| 303 | for (const NodeDef* output : node_map.GetOutputs(node.name())) { |
| 304 | for (const string& node_as_input : output->input()) { |
| 305 | if (!IsControlInput(node_as_input)) continue; |
| 306 | |
| 307 | TensorId tensor = ParseTensorName(node_as_input); |
| 308 | if (tensor.node() == node.name()) { |
| 309 | return true; |
| 310 | } |
| 311 | } |
| 312 | } |
| 313 | return false; |
| 314 | } |
| 315 | |
| 316 | int NumControlOutputs(const NodeDef& node, const NodeMap& node_map) { |
| 317 | int num_outputs = 0; |