diff options
author | AUTOMATIC1111 <16777216c@gmail.com> | 2023-07-17 06:00:47 +0000 |
---|---|---|
committer | AUTOMATIC1111 <16777216c@gmail.com> | 2023-07-17 06:00:47 +0000 |
commit | 238adeaffb037dedbcefe41e7fd4814a1f17baa2 (patch) | |
tree | 901557b4f4814effe18d23900317f7dbabf3e162 /extensions-builtin/Lora/network_full.py | |
parent | 46466f09d0b0c14118033dee6af0f876059776d3 (diff) | |
download | stable-diffusion-webui-gfx803-238adeaffb037dedbcefe41e7fd4814a1f17baa2.tar.gz stable-diffusion-webui-gfx803-238adeaffb037dedbcefe41e7fd4814a1f17baa2.tar.bz2 stable-diffusion-webui-gfx803-238adeaffb037dedbcefe41e7fd4814a1f17baa2.zip |
support specifying te and unet weights separately
update lora code
support full module
Diffstat (limited to 'extensions-builtin/Lora/network_full.py')
-rw-r--r-- | extensions-builtin/Lora/network_full.py | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/extensions-builtin/Lora/network_full.py b/extensions-builtin/Lora/network_full.py new file mode 100644 index 00000000..f0d8a6e0 --- /dev/null +++ b/extensions-builtin/Lora/network_full.py @@ -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)
|