class_docstr: Helper class to manage calculating and caching control_outputs in graph.
class_docstr_tok: ["Helper","class","to","manage","calculating","and","caching","control_outputs","in","graph","."]
docstr: Return the control outputs for a given op.
  
  Args:
    op: The op to fetch control outputs for.
  
  Returns:
    Iterable of control output ops.
docstr_tok: ["Return","the","control","outputs","for","a","given","op",".","Args",":","op",":","The","op","to","fetch","control","outputs","for",".","Returns",":","Iterable","of","control","output","ops","."]
code: def get_control_outputs(self, op):
      """Return the control outputs for a given op.
  
      Args:
        op: The op to fetch control outputs for.
  
      Returns:
        Iterable of control output ops.
      """
      if op.graph not in self.cache:
          control_outputs = self.calc_control_outputs(op.graph)
          self.cache[op.graph] = control_outputs
      else:
          control_outputs = self.cache[op.graph]
      return control_outputs.get(op, [])
  
file_path: tensorflow-upstream/tensorflow/python/framework/subscribe.py
imports: import contextlib
  import re
  from tensorflow.python.framework import ops
  from tensorflow.python.framework import tensor
  from tensorflow.python.ops import array_ops
  from tensorflow.python.ops import variables
  from tensorflow.python.platform import tf_logging
label_desc: Use image node_id 3 for calling the _ControlOutputCache obj's underlying member method code with example usage: obj.get_control_outputs(op) and returns: control_outputs