code: def _yield_estimators(model):
      """Yield estimator and its prefix from the model.
  
      First, pipeline preprocessing steps are yielded (if there are
      any). Next the neural net is yielded. Finally, the module is
      yielded.
  
      """
      yield from _yield_preproc_steps(model)
  
      net_prefixes = []
      module_prefixes = []
  
      if isinstance(model, Pipeline):
          name = model.steps[-1][0]
          net_prefixes.append(name)
          module_prefixes.append(name)
          net = model.steps[-1][1]
      else:
          net = model
  
      yield "__".join(net_prefixes), net
  
      module = getattr(net, "module", None)
      if not module:
          # There is no module attribute, we're dealing with a normal
          # scikit-learn estimator, so no need to show further help.
          return
  
      module_prefixes.append("module")
      yield "__".join(module_prefixes), module
  
imports: from functools import partial
  from importlib import import_module
  from itertools import chain
  import re
  import shlex
  import sys
  from sklearn.base import BaseEstimator
  from sklearn.pipeline import FeatureUnion
  from sklearn.pipeline import Pipeline
label_desc: Use image node_id 8 for calling a global function with example usage: _yield_estimators(model) without return types