|
|
from modules import shared |
|
|
import numpy as np |
|
|
|
|
|
from loractl.lib.lora_ctl_network import network, lora_weights |
|
|
from loractl.lib.utils import calculate_weight, is_hires |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def get_weight(m): |
|
|
return calculate_weight(m, shared.state.sampling_step, shared.state.sampling_steps, step_offset=2) |
|
|
|
|
|
|
|
|
def get_dynamic_te(self): |
|
|
if self.name in lora_weights: |
|
|
key = "te" if not is_hires() else "hrte" |
|
|
w = lora_weights[self.name] |
|
|
return get_weight(w.get(key, self._te_multiplier)) |
|
|
|
|
|
return get_weight(self._te_multiplier) |
|
|
|
|
|
|
|
|
def get_dynamic_unet(self): |
|
|
if self.name in lora_weights: |
|
|
key = "unet" if not is_hires() else "hrunet" |
|
|
w = lora_weights[self.name] |
|
|
return get_weight(w.get(key, self._unet_multiplier)) |
|
|
|
|
|
return get_weight(self._unet_multiplier) |
|
|
|
|
|
|
|
|
def set_dynamic_te(self, value): |
|
|
self._te_multiplier = value |
|
|
|
|
|
|
|
|
def set_dynamic_unet(self, value): |
|
|
self._unet_multiplier = value |
|
|
|
|
|
|
|
|
def apply(): |
|
|
if getattr(network.Network, "te_multiplier", None) == None: |
|
|
network.Network.te_multiplier = property(get_dynamic_te, set_dynamic_te) |
|
|
network.Network.unet_multiplier = property( |
|
|
get_dynamic_unet, set_dynamic_unet) |
|
|
|