support specifying te and unet weights separately

update lora code
support full module
This commit is contained in:
AUTOMATIC1111
2023-07-17 09:00:47 +03:00
parent 46466f09d0
commit 238adeaffb
10 changed files with 151 additions and 78 deletions

View File

@@ -0,0 +1,23 @@
import lyco_helpers
import network
class ModuleTypeFull(network.ModuleType):
def create_module(self, net: network.Network, weights: network.NetworkWeights):
if all(x in weights.w for x in ["diff"]):
return NetworkModuleFull(net, weights)
return None
class NetworkModuleFull(network.NetworkModule):
def __init__(self, net: network.Network, weights: network.NetworkWeights):
super().__init__(net, weights)
self.weight = weights.w.get("diff")
def calc_updown(self, orig_weight):
output_shape = self.weight.shape
updown = self.weight.to(orig_weight.device, dtype=orig_weight.dtype)
return self.finalize_updown(updown, orig_weight, output_shape)