code: def _extract_named_constraints(module, memo=None, prefix=""):
      if memo is None:
          memo = set()
      if hasattr(module, "_constraints"):
          for name, constraint in module._constraints.items():
              if constraint is not None and constraint not in memo:
                  memo.add(constraint)
                  full_name = ("." if prefix else "").join(
                      [prefix, name]
                  )
                  yield full_name, constraint
      for mname, module_ in module.named_children():
          submodule_prefix = prefix + ("." if prefix else "") + mname
          for name, constraint in _extract_named_constraints(
              module_, memo=memo, prefix=submodule_prefix
          ):
              yield name, constraint
  
imports: import copy
  import inspect
  import itertools
  import operator
  from collections import OrderedDict
  from typing import Union
  import torch
  from linear_operator.operators import LinearOperator
  from torch import nn, Tensor
  from torch.distributions import Distribution
  from .constraints import Interval
label_desc: Use image node_id 7 for calling a global function with example usage: _extract_named_constraints(module, memo, prefix) without return types