MCPcopy Index your code
hub / github.com/huggingface/diffusers / inner_init

Function inner_init

src/diffusers/configuration_utils.py:700–735  ·  view source on GitHub ↗
(self, *args, **kwargs)

Source from the content-addressed store, hash-verified

698
699 @functools.wraps(init)
700 def inner_init(self, *args, **kwargs):
701 # Ignore private kwargs in the init.
702 init_kwargs = {k: v for k, v in kwargs.items() if not k.startswith("_")}
703 config_init_kwargs = {k: v for k, v in kwargs.items() if k.startswith("_")}
704 if not isinstance(self, ConfigMixin):
705 raise RuntimeError(
706 f"`@register_for_config` was applied to {self.__class__.__name__} init method, but this class does "
707 "not inherit from `ConfigMixin`."
708 )
709
710 ignore = getattr(self, "ignore_for_config", [])
711 # Get positional arguments aligned with kwargs
712 new_kwargs = {}
713 signature = inspect.signature(init)
714 parameters = {
715 name: p.default for i, (name, p) in enumerate(signature.parameters.items()) if i > 0 and name not in ignore
716 }
717 for arg, name in zip(args, parameters.keys()):
718 new_kwargs[name] = arg
719
720 # Then add all kwargs
721 new_kwargs.update(
722 {
723 k: init_kwargs.get(k, default)
724 for k, default in parameters.items()
725 if k not in ignore and k not in new_kwargs
726 }
727 )
728
729 # Take note of the parameters that were not present in the loaded config
730 if len(set(new_kwargs.keys()) - set(init_kwargs)) > 0:
731 new_kwargs["_use_default_values"] = list(set(new_kwargs.keys()) - set(init_kwargs))
732
733 new_kwargs = {**config_init_kwargs, **new_kwargs}
734 getattr(self, "register_to_config")(**new_kwargs)
735 init(self, *args, **init_kwargs)
736
737 return inner_init
738

Callers

nothing calls this directly

Calls 3

initFunction · 0.85
updateMethod · 0.45
getMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…