MCPcopy Create free account
hub / github.com/YesianRohn/TextSSR / inner_init

Function inner_init

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

Source from the content-addressed store, hash-verified

616
617 @functools.wraps(init)
618 def inner_init(self, *args, **kwargs):
619 # Ignore private kwargs in the init.
620 init_kwargs = {k: v for k, v in kwargs.items() if not k.startswith("_")}
621 config_init_kwargs = {k: v for k, v in kwargs.items() if k.startswith("_")}
622 if not isinstance(self, ConfigMixin):
623 raise RuntimeError(
624 f"`@register_for_config` was applied to {self.__class__.__name__} init method, but this class does "
625 "not inherit from `ConfigMixin`."
626 )
627
628 ignore = getattr(self, "ignore_for_config", [])
629 # Get positional arguments aligned with kwargs
630 new_kwargs = {}
631 signature = inspect.signature(init)
632 parameters = {
633 name: p.default for i, (name, p) in enumerate(signature.parameters.items()) if i > 0 and name not in ignore
634 }
635 for arg, name in zip(args, parameters.keys()):
636 new_kwargs[name] = arg
637
638 # Then add all kwargs
639 new_kwargs.update(
640 {
641 k: init_kwargs.get(k, default)
642 for k, default in parameters.items()
643 if k not in ignore and k not in new_kwargs
644 }
645 )
646
647 # Take note of the parameters that were not present in the loaded config
648 if len(set(new_kwargs.keys()) - set(init_kwargs)) > 0:
649 new_kwargs["_use_default_values"] = list(set(new_kwargs.keys()) - set(init_kwargs))
650
651 new_kwargs = {**config_init_kwargs, **new_kwargs}
652 getattr(self, "register_to_config")(**new_kwargs)
653 init(self, *args, **init_kwargs)
654
655 return inner_init
656

Callers

nothing calls this directly

Calls 2

initFunction · 0.85
updateMethod · 0.45

Tested by

no test coverage detected