parameters: (ops,
                              seed_ops,
                              boundary_ops,
                              inclusive=True,
                              control_inputs=False,
                              control_outputs=None,
                              control_ios=None)
return_statement: return [op for op in ops if op in res]
docstring: Return all the tf.Operation within the given boundary.
  
    Args:
      ops: an object convertible to a list of tf.Operation. those ops define the
        set in which to perform the operation (if a tf.Graph is given, it
        will be converted to the list of all its operations).
      seed_ops: the operations from which to start expanding.
      boundary_ops: the ops forming the boundary.
      inclusive: if True, the result will also include the boundary ops.
      control_inputs: A boolean indicating whether control inputs are enabled.
      control_outputs: An instance of util.ControlOutputs or None. If not None,
        control outputs are enabled.
      control_ios:  An instance of util.ControlOutputs or None. If not None, both
        control inputs and control outputs are enabled. This is equivalent to set
        control_inputs to True and control_outputs to the util.ControlOutputs
        instance.
    Returns:
      All the tf.Operation surrounding the given ops.
    Raises:
      TypeError: if ops or seed_ops cannot be converted to a list of tf.Operation.
      ValueError: if the boundary is intersecting with the seeds.
docstring_summary: Return all the tf.Operation within the given boundary.
docstring_tokens: Return all the tf . Operation within the given boundary .
function: def get_within_boundary_ops(ops,
                              seed_ops,
                              boundary_ops,
                              inclusive=True,
                              control_inputs=False,
                              control_outputs=None,
                              control_ios=None):
    """Return all the tf.Operation within the given boundary.
  
    Args:
      ops: an object convertible to a list of tf.Operation. those ops define the
        set in which to perform the operation (if a tf.Graph is given, it
        will be converted to the list of all its operations).
      seed_ops: the operations from which to start expanding.
      boundary_ops: the ops forming the boundary.
      inclusive: if True, the result will also include the boundary ops.
      control_inputs: A boolean indicating whether control inputs are enabled.
      control_outputs: An instance of util.ControlOutputs or None. If not None,
        control outputs are enabled.
      control_ios:  An instance of util.ControlOutputs or None. If not None, both
        control inputs and control outputs are enabled. This is equivalent to set
        control_inputs to True and control_outputs to the util.ControlOutputs
        instance.
    Returns:
      All the tf.Operation surrounding the given ops.
    Raises:
      TypeError: if ops or seed_ops cannot be converted to a list of tf.Operation.
      ValueError: if the boundary is intersecting with the seeds.
    """
    control_inputs, control_outputs = check_cios(control_inputs, control_outputs,
                                                 control_ios)
    ops = util.make_list_of_op(ops)
    seed_ops = util.make_list_of_op(seed_ops, allow_graph=False)
    boundary_ops = set(util.make_list_of_op(boundary_ops))
    res = set(seed_ops)
    if boundary_ops & res:
      raise ValueError("Boundary is intersecting with the seeds.")
    wave = set(seed_ops)
    while wave:
      new_wave = set()
      ops_io = get_ops_ios(wave, control_inputs, control_outputs)
      for op in ops_io:
        if op in res:
          continue
        if op in boundary_ops:
          if inclusive:
            res.add(op)
        else:
          new_wave.add(op)
      res.update(new_wave)
      wave = new_wave
    return [op for op in ops if op in res]
function_tokens: def get_within_boundary_ops ( ops , seed_ops , boundary_ops , inclusive = True , control_inputs = False , control_outputs = None , control_ios = None ) : control_inputs , control_outputs = check_cios ( control_inputs , control_outputs , control_ios ) ops = util . make_list_of_op ( ops ) seed_ops = util . make_list_of_op ( seed_ops , allow_graph = False ) boundary_ops = set ( util . make_list_of_op ( boundary_ops ) ) res = set ( seed_ops ) if boundary_ops & res : raise ValueError ( "Boundary is intersecting with the seeds." ) wave = set ( seed_ops ) while wave : new_wave = set ( ) ops_io = get_ops_ios ( wave , control_inputs , control_outputs ) for op in ops_io : if op in res : continue if op in boundary_ops : if inclusive : res . add ( op ) else : new_wave . add ( op ) res . update ( new_wave ) wave = new_wave return [ op for op in ops if op in res ]