class_docstr: Create a callable object from a dask graph.
  
  Parameters
  ----------
  dsk : dict
      A dask graph
  outkey : hashable
      The output key from the graph
  inkeys : list
      A list of keys to be used as arguments to the callable.
  name : str, optional
      The name to use for the function.
class_docstr_tok: ["Create","a","callable","object","from","a","dask","graph",".","Parameters","--","--","--","--","--","dsk",":","dict","A","dask","graph","outkey",":","hashable","The","output","key","from","the","graph","inkeys",":","list","A","list","of","keys","to","be","used","as","arguments","to","the","callable",".","name",":","str",",","optional","The","name","to","use","for","the","function","."]
code: def __eq__(self, other):
      is_key = self.outkey == other.outkey and set(self.inkeys) == set(
          other.inkeys
      )
      return (
          type(self) is type(other)
          and self.name == other.name
          and is_key
      )
  
imports: import math
  import numbers
  from enum import Enum
  from flash.core.serve.dag.task import flatten, get, get_dependencies, ishashable, istask, reverse_dict, subs, toposort
  from flash.core.serve.dag.utils import key_split
  from flash.core.utilities.imports import _TOPIC_SERVE_AVAILABLE
label_desc: Use image node_id 3 for calling the SubgraphCallable obj's underlying member method code with example usage: obj.__eq__(other) and returns: unknown