Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
S
stable-diffusion-webui
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Administrator
stable-diffusion-webui
Commits
c715ef04
Commit
c715ef04
authored
Sep 29, 2022
by
AUTOMATIC
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix for incorrect model weight loading for #814
parent
965dcf44
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
14 additions
and
1 deletion
+14
-1
sd_hijack.py
modules/sd_hijack.py
+9
-0
sd_models.py
modules/sd_models.py
+5
-1
No files found.
modules/sd_hijack.py
View file @
c715ef04
...
@@ -245,6 +245,7 @@ class StableDiffusionModelHijack:
...
@@ -245,6 +245,7 @@ class StableDiffusionModelHijack:
model_embeddings
.
token_embedding
=
EmbeddingsWithFixes
(
model_embeddings
.
token_embedding
,
self
)
model_embeddings
.
token_embedding
=
EmbeddingsWithFixes
(
model_embeddings
.
token_embedding
,
self
)
m
.
cond_stage_model
=
FrozenCLIPEmbedderWithCustomWords
(
m
.
cond_stage_model
,
self
)
m
.
cond_stage_model
=
FrozenCLIPEmbedderWithCustomWords
(
m
.
cond_stage_model
,
self
)
self
.
clip
=
m
.
cond_stage_model
self
.
clip
=
m
.
cond_stage_model
if
cmd_opts
.
opt_split_attention_v1
:
if
cmd_opts
.
opt_split_attention_v1
:
...
@@ -263,6 +264,14 @@ class StableDiffusionModelHijack:
...
@@ -263,6 +264,14 @@ class StableDiffusionModelHijack:
self
.
layers
=
flatten
(
m
)
self
.
layers
=
flatten
(
m
)
def
undo_hijack
(
self
,
m
):
if
type
(
m
.
cond_stage_model
)
==
FrozenCLIPEmbedderWithCustomWords
:
m
.
cond_stage_model
=
m
.
cond_stage_model
.
wrapped
model_embeddings
=
m
.
cond_stage_model
.
transformer
.
text_model
.
embeddings
if
type
(
model_embeddings
.
token_embedding
)
==
EmbeddingsWithFixes
:
model_embeddings
.
token_embedding
=
model_embeddings
.
token_embedding
.
wrapped
def
apply_circular
(
self
,
enable
):
def
apply_circular
(
self
,
enable
):
if
self
.
circular_enabled
==
enable
:
if
self
.
circular_enabled
==
enable
:
return
return
...
...
modules/sd_models.py
View file @
c715ef04
...
@@ -137,7 +137,7 @@ def load_model():
...
@@ -137,7 +137,7 @@ def load_model():
def
reload_model_weights
(
sd_model
,
info
=
None
):
def
reload_model_weights
(
sd_model
,
info
=
None
):
from
modules
import
lowvram
,
devices
from
modules
import
lowvram
,
devices
,
sd_hijack
checkpoint_info
=
info
or
select_checkpoint
()
checkpoint_info
=
info
or
select_checkpoint
()
if
sd_model
.
sd_model_checkpint
==
checkpoint_info
.
filename
:
if
sd_model
.
sd_model_checkpint
==
checkpoint_info
.
filename
:
...
@@ -148,8 +148,12 @@ def reload_model_weights(sd_model, info=None):
...
@@ -148,8 +148,12 @@ def reload_model_weights(sd_model, info=None):
else
:
else
:
sd_model
.
to
(
devices
.
cpu
)
sd_model
.
to
(
devices
.
cpu
)
sd_hijack
.
model_hijack
.
undo_hijack
(
sd_model
)
load_model_weights
(
sd_model
,
checkpoint_info
.
filename
,
checkpoint_info
.
hash
)
load_model_weights
(
sd_model
,
checkpoint_info
.
filename
,
checkpoint_info
.
hash
)
sd_hijack
.
model_hijack
.
hijack
(
sd_model
)
if
not
shared
.
cmd_opts
.
lowvram
and
not
shared
.
cmd_opts
.
medvram
:
if
not
shared
.
cmd_opts
.
lowvram
and
not
shared
.
cmd_opts
.
medvram
:
sd_model
.
to
(
devices
.
device
)
sd_model
.
to
(
devices
.
device
)
...
...
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