extra_networks_hypernet.py 1.1 KB

123456789101112131415161718192021222324252627
  1. from modules import extra_networks, shared, extra_networks
  2. from modules.hypernetworks import hypernetwork
  3. class ExtraNetworkHypernet(extra_networks.ExtraNetwork):
  4. def __init__(self):
  5. super().__init__('hypernet')
  6. def activate(self, p, params_list):
  7. additional = shared.opts.sd_hypernetwork
  8. if additional != "" and additional in shared.hypernetworks and len([x for x in params_list if x.items[0] == additional]) == 0:
  9. p.all_prompts = [x + f"<hypernet:{additional}:{shared.opts.extra_networks_default_multiplier}>" for x in p.all_prompts]
  10. params_list.append(extra_networks.ExtraNetworkParams(items=[additional, shared.opts.extra_networks_default_multiplier]))
  11. names = []
  12. multipliers = []
  13. for params in params_list:
  14. assert len(params.items) > 0
  15. names.append(params.items[0])
  16. multipliers.append(float(params.items[1]) if len(params.items) > 1 else 1.0)
  17. hypernetwork.load_hypernetworks(names, multipliers)
  18. def deactivate(self, p):
  19. pass