diff options
author | v0xie <28695009+v0xie@users.noreply.github.com> | 2024-01-22 10:52:34 +0000 |
---|---|---|
committer | v0xie <28695009+v0xie@users.noreply.github.com> | 2024-01-22 10:52:34 +0000 |
commit | fd383140cf405100f3c619f106472273a7545beb (patch) | |
tree | c72a8074e7b79106a8e4e4639224aaf4e246d58e /extensions-builtin/Lora/network_oft.py | |
parent | cb5b335acddd126d4f6c990982816c06beb0d6ae (diff) | |
download | stable-diffusion-webui-gfx803-fd383140cf405100f3c619f106472273a7545beb.tar.gz stable-diffusion-webui-gfx803-fd383140cf405100f3c619f106472273a7545beb.tar.bz2 stable-diffusion-webui-gfx803-fd383140cf405100f3c619f106472273a7545beb.zip |
fix: wrong devices for eye and constraint
Diffstat (limited to 'extensions-builtin/Lora/network_oft.py')
-rw-r--r-- | extensions-builtin/Lora/network_oft.py | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/extensions-builtin/Lora/network_oft.py b/extensions-builtin/Lora/network_oft.py index 342fcd0d..d1c46a4b 100644 --- a/extensions-builtin/Lora/network_oft.py +++ b/extensions-builtin/Lora/network_oft.py @@ -57,12 +57,12 @@ class NetworkModuleOFT(network.NetworkModule): def calc_updown(self, orig_weight): oft_blocks = self.oft_blocks.to(orig_weight.device) - eye = torch.eye(self.block_size, device=self.oft_blocks.device) + eye = torch.eye(self.block_size, device=oft_blocks.device) if self.is_kohya: block_Q = oft_blocks - oft_blocks.transpose(1, 2) # ensure skew-symmetric orthogonal matrix norm_Q = torch.norm(block_Q.flatten()) - new_norm_Q = torch.clamp(norm_Q, max=self.constraint) + new_norm_Q = torch.clamp(norm_Q, max=self.constraint.to(oft_blocks.device)) block_Q = block_Q * ((new_norm_Q + 1e-8) / (norm_Q + 1e-8)) oft_blocks = torch.matmul(eye + block_Q, (eye - block_Q).float().inverse()) |