mirror of
https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
synced 2024-06-07 21:20:49 +00:00
fix: multiplier applied twice in finalize_updown
This commit is contained in:
parent
4a50c9638c
commit
3b8515d2c9
@ -54,7 +54,8 @@ class NetworkModuleOFT(network.NetworkModule):
|
|||||||
return R
|
return R
|
||||||
|
|
||||||
def calc_updown(self, orig_weight):
|
def calc_updown(self, orig_weight):
|
||||||
R = self.get_weight(self.oft_blocks, self.multiplier())
|
multiplier = self.multiplier() * self.calc_scale()
|
||||||
|
R = self.get_weight(self.oft_blocks, multiplier)
|
||||||
merged_weight = self.merge_weight(R, orig_weight)
|
merged_weight = self.merge_weight(R, orig_weight)
|
||||||
|
|
||||||
updown = merged_weight.to(orig_weight.device, dtype=orig_weight.dtype) - orig_weight
|
updown = merged_weight.to(orig_weight.device, dtype=orig_weight.dtype) - orig_weight
|
||||||
@ -62,3 +63,23 @@ class NetworkModuleOFT(network.NetworkModule):
|
|||||||
orig_weight = orig_weight
|
orig_weight = orig_weight
|
||||||
|
|
||||||
return self.finalize_updown(updown, orig_weight, output_shape)
|
return self.finalize_updown(updown, orig_weight, output_shape)
|
||||||
|
|
||||||
|
# override to remove the multiplier/scale factor; it's already multiplied in get_weight
|
||||||
|
def finalize_updown(self, updown, orig_weight, output_shape, ex_bias=None):
|
||||||
|
#return super().finalize_updown(updown, orig_weight, output_shape, ex_bias)
|
||||||
|
|
||||||
|
if self.bias is not None:
|
||||||
|
updown = updown.reshape(self.bias.shape)
|
||||||
|
updown += self.bias.to(orig_weight.device, dtype=orig_weight.dtype)
|
||||||
|
updown = updown.reshape(output_shape)
|
||||||
|
|
||||||
|
if len(output_shape) == 4:
|
||||||
|
updown = updown.reshape(output_shape)
|
||||||
|
|
||||||
|
if orig_weight.size().numel() == updown.size().numel():
|
||||||
|
updown = updown.reshape(orig_weight.shape)
|
||||||
|
|
||||||
|
if ex_bias is not None:
|
||||||
|
ex_bias = ex_bias * self.multiplier()
|
||||||
|
|
||||||
|
return updown, ex_bias
|
||||||
|
Loading…
Reference in New Issue
Block a user