Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
S
Stable Diffusion Webui
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Packages
Packages
List
Container Registry
Analytics
Analytics
CI / CD
Code Review
Insights
Issues
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
novelai-storage
Stable Diffusion Webui
Commits
12bcacf4
Commit
12bcacf4
authored
Mar 07, 2024
by
Kohaku-Blueleaf
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Initial implementation
parent
58f7410c
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
15 additions
and
0 deletions
+15
-0
extensions-builtin/Lora/network.py
extensions-builtin/Lora/network.py
+15
-0
No files found.
extensions-builtin/Lora/network.py
View file @
12bcacf4
...
@@ -146,6 +146,9 @@ class NetworkModule:
...
@@ -146,6 +146,9 @@ class NetworkModule:
self
.
alpha
=
weights
.
w
[
"alpha"
]
.
item
()
if
"alpha"
in
weights
.
w
else
None
self
.
alpha
=
weights
.
w
[
"alpha"
]
.
item
()
if
"alpha"
in
weights
.
w
else
None
self
.
scale
=
weights
.
w
[
"scale"
]
.
item
()
if
"scale"
in
weights
.
w
else
None
self
.
scale
=
weights
.
w
[
"scale"
]
.
item
()
if
"scale"
in
weights
.
w
else
None
self
.
dora_scale
=
weights
.
w
[
"dora_scale"
]
if
"dora_scale"
in
weights
.
w
else
None
self
.
dora_mean_dim
=
tuple
(
i
for
i
in
range
(
len
(
self
.
shape
))
if
i
!=
1
)
def
multiplier
(
self
):
def
multiplier
(
self
):
if
'transformer'
in
self
.
sd_key
[:
20
]:
if
'transformer'
in
self
.
sd_key
[:
20
]:
return
self
.
network
.
te_multiplier
return
self
.
network
.
te_multiplier
...
@@ -160,6 +163,15 @@ class NetworkModule:
...
@@ -160,6 +163,15 @@ class NetworkModule:
return
1.0
return
1.0
def
apply_weight_decompose
(
self
,
updown
,
orig_weight
):
orig_weight
=
orig_weight
.
to
(
updown
)
merged_scale1
=
updown
+
orig_weight
dora_merged
=
(
merged_scale1
/
merged_scale1
(
dim
=
self
.
dora_mean_dim
,
keepdim
=
True
)
*
self
.
dora_scale
)
final_updown
=
dora_merged
-
orig_weight
return
final_updown
def
finalize_updown
(
self
,
updown
,
orig_weight
,
output_shape
,
ex_bias
=
None
):
def
finalize_updown
(
self
,
updown
,
orig_weight
,
output_shape
,
ex_bias
=
None
):
if
self
.
bias
is
not
None
:
if
self
.
bias
is
not
None
:
updown
=
updown
.
reshape
(
self
.
bias
.
shape
)
updown
=
updown
.
reshape
(
self
.
bias
.
shape
)
...
@@ -175,6 +187,9 @@ class NetworkModule:
...
@@ -175,6 +187,9 @@ class NetworkModule:
if
ex_bias
is
not
None
:
if
ex_bias
is
not
None
:
ex_bias
=
ex_bias
*
self
.
multiplier
()
ex_bias
=
ex_bias
*
self
.
multiplier
()
if
self
.
dora_scale
is
not
None
:
updown
=
self
.
apply_weight_decompose
(
updown
,
orig_weight
)
return
updown
*
self
.
calc_scale
()
*
self
.
multiplier
(),
ex_bias
return
updown
*
self
.
calc_scale
()
*
self
.
multiplier
(),
ex_bias
def
calc_updown
(
self
,
target
):
def
calc_updown
(
self
,
target
):
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment