code: def find_exclude_eids(
      g,
      seed_edges,
      exclude,
      reverse_eids=None,
      reverse_etypes=None,
      output_device=None,
  ):
      """Find all edge IDs to exclude according to :attr:`exclude_mode`.
  
      Parameters
      ----------
      g : DGLGraph
          The graph.
      exclude :
          Can be either of the following,
  
          None (default)
              Does not exclude any edge.
  
          'self'
              Exclude the given edges themselves but nothing else.
  
          'reverse_id'
              Exclude all edges specified in ``eids``, as well as their reverse edges
              of the same edge type.
  
              The mapping from each edge ID to its reverse edge ID is specified in
              the keyword argument ``reverse_eid_map``.
  
              This mode assumes that the reverse of an edge with ID ``e`` and type
              ``etype`` will have ID ``reverse_eid_map[e]`` and type ``etype``.
  
          'reverse_types'
              Exclude all edges specified in ``eids``, as well as their reverse
              edges of the corresponding edge types.
  
              The mapping from each edge type to its reverse edge type is specified
              in the keyword argument ``reverse_etype_map``.
  
              This mode assumes that the reverse of an edge with ID ``e`` and type ``etype``
              will have ID ``e`` and type ``reverse_etype_map[etype]``.
  
          callable
              Any function that takes in a single argument :attr:`seed_edges` and returns
              a tensor or dict of tensors.
      eids : Tensor or dict[etype, Tensor]
          The edge IDs.
      reverse_eids : Tensor or dict[etype, Tensor]
          The mapping from edge ID to its reverse edge ID.
      reverse_etypes : dict[etype, etype]
          The mapping from edge etype to its reverse edge type.
      output_device : device
          The device of the output edge IDs.
      """
      exclude_eids = _find_exclude_eids(
          g,
          exclude,
          seed_edges,
          reverse_eid_map=reverse_eids,
          reverse_etype_map=reverse_etypes,
      )
      if exclude_eids is not None and output_device is not None:
          exclude_eids = recursive_apply(
              exclude_eids, lambda x: F.copy_to(x, output_device)
          )
      return exclude_eids
  
imports: import inspect
  from collections.abc import Mapping
  from ..None import backend
  from ..base import EID, NID
  from ..convert import heterograph
  from ..frame import LazyFeature
  from ..transforms import compact_graphs
  from ..utils import context_of, recursive_apply
label_desc: Use image node_id 9 for calling a global function with example usage: find_exclude_eids(g, seed_edges, exclude, reverse_eids, reverse_etypes, output_device) and returns: exclude_eids