parameters: (target_ts, replacement_ts, dst_scope="",
                    src_scope="", reuse_dst_scope=False)
return_statement: return info.transformed(target_ts, missing_fn)
docstring: Create a new graph which compute the targets from the replaced Tensors.
  
    Args:
      target_ts: a single tf.Tensor or an iterable of tf.Tensor.
      replacement_ts: dictionary mapping from original tensors to replaced tensors
      dst_scope: the destination scope.
      src_scope: the source scope.
      reuse_dst_scope: if True the dst_scope is re-used if it already exists.
        Otherwise, the scope is given a unique name based on the one given
        by appending an underscore followed by a digit (default).
    Returns:
      A single tf.Tensor or a list of target tf.Tensor, depending on
      the type of the input argument `target_ts`.
      The returned tensors are recomputed using the tensors from replacement_ts.
    Raises:
      ValueError: if the targets are not connected to replacement_ts.
docstring_summary: Create a new graph which compute the targets from the replaced Tensors.
docstring_tokens: Create a new graph which compute the targets from the replaced Tensors .
function: def graph_replace(target_ts, replacement_ts, dst_scope="",
                    src_scope="", reuse_dst_scope=False):
    """Create a new graph which compute the targets from the replaced Tensors.
  
    Args:
      target_ts: a single tf.Tensor or an iterable of tf.Tensor.
      replacement_ts: dictionary mapping from original tensors to replaced tensors
      dst_scope: the destination scope.
      src_scope: the source scope.
      reuse_dst_scope: if True the dst_scope is re-used if it already exists.
        Otherwise, the scope is given a unique name based on the one given
        by appending an underscore followed by a digit (default).
    Returns:
      A single tf.Tensor or a list of target tf.Tensor, depending on
      the type of the input argument `target_ts`.
      The returned tensors are recomputed using the tensors from replacement_ts.
    Raises:
      ValueError: if the targets are not connected to replacement_ts.
    """
    # Identify operations in the graph that will change.
    # Start forward walk at Tensors that will be replaced, and
    # backward walk at the target output Tensors.
    flatten_target_ts = util.flatten_tree(target_ts)
    # Construct the forward control dependencies edges so that
    # the get_walks_intersection_ops can also traverse the
    # control dependencies.
    graph = util.get_unique_graph(flatten_target_ts, check_types=(tf_ops.Tensor))
    control_ios = util.ControlOutputs(graph)
    ops = select.get_walks_intersection_ops(list(iterkeys(replacement_ts)),
                                            flatten_target_ts,
                                            control_ios=control_ios)
    if not ops:
      raise ValueError("Targets and replacements are not connected!")
    # Create a copy of the relevant subgraph
    _, info = copy_with_input_replacements(
        ops, replacement_ts, None, dst_scope, src_scope, reuse_dst_scope)
    # Return the transformed targets but keep the original if the transformed
    # counterpart cannot be found
    missing_fn = lambda original_t: original_t
    return info.transformed(target_ts, missing_fn)
function_tokens: def graph_replace ( target_ts , replacement_ts , dst_scope = "" , src_scope = "" , reuse_dst_scope = False ) : # Identify operations in the graph that will change. # Start forward walk at Tensors that will be replaced, and # backward walk at the target output Tensors. flatten_target_ts = util . flatten_tree ( target_ts ) # Construct the forward control dependencies edges so that # the get_walks_intersection_ops can also traverse the # control dependencies. graph = util . get_unique_graph ( flatten_target_ts , check_types = ( tf_ops . Tensor ) ) control_ios = util . ControlOutputs ( graph ) ops = select . get_walks_intersection_ops ( list ( iterkeys ( replacement_ts ) ) , flatten_target_ts , control_ios = control_ios ) if not ops : raise ValueError ( "Targets and replacements are not connected!" ) # Create a copy of the relevant subgraph _ , info = copy_with_input_replacements ( ops , replacement_ts , None , dst_scope , src_scope , reuse_dst_scope ) # Return the transformed targets but keep the original if the transformed # counterpart cannot be found missing_fn = lambda original_t : original_t return info . transformed ( target_ts , missing_fn )