Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
chenpangpang
ComfyUI
Commits
8cf1daa1
Commit
8cf1daa1
authored
Dec 18, 2023
by
comfyanonymous
Browse files
Fix SDXL area composition sometimes not using the right pooled output.
parent
d2f32290
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
14 additions
and
3 deletions
+14
-3
comfy/model_base.py
comfy/model_base.py
+10
-0
comfy/samplers.py
comfy/samplers.py
+4
-3
No files found.
comfy/model_base.py
View file @
8cf1daa1
...
...
@@ -126,9 +126,15 @@ class BaseModel(torch.nn.Module):
cond_concat
.
append
(
blank_inpaint_image_like
(
noise
))
data
=
torch
.
cat
(
cond_concat
,
dim
=
1
)
out
[
'c_concat'
]
=
comfy
.
conds
.
CONDNoiseShape
(
data
)
adm
=
self
.
encode_adm
(
**
kwargs
)
if
adm
is
not
None
:
out
[
'y'
]
=
comfy
.
conds
.
CONDRegular
(
adm
)
cross_attn
=
kwargs
.
get
(
"cross_attn"
,
None
)
if
cross_attn
is
not
None
:
out
[
'c_crossattn'
]
=
comfy
.
conds
.
CONDCrossAttn
(
cross_attn
)
return
out
def
load_model_weights
(
self
,
sd
,
unet_prefix
=
""
):
...
...
@@ -322,6 +328,10 @@ class SVD_img2vid(BaseModel):
out
[
'c_concat'
]
=
comfy
.
conds
.
CONDNoiseShape
(
latent_image
)
cross_attn
=
kwargs
.
get
(
"cross_attn"
,
None
)
if
cross_attn
is
not
None
:
out
[
'c_crossattn'
]
=
comfy
.
conds
.
CONDCrossAttn
(
cross_attn
)
if
"time_conditioning"
in
kwargs
:
out
[
"time_context"
]
=
comfy
.
conds
.
CONDCrossAttn
(
kwargs
[
"time_conditioning"
])
...
...
comfy/samplers.py
View file @
8cf1daa1
...
...
@@ -599,6 +599,10 @@ def sample(model, noise, positive, negative, cfg, device, sampler, sigmas, model
calculate_start_end_timesteps
(
model
,
negative
)
calculate_start_end_timesteps
(
model
,
positive
)
if
hasattr
(
model
,
'extra_conds'
):
positive
=
encode_model_conds
(
model
.
extra_conds
,
positive
,
noise
,
device
,
"positive"
,
latent_image
=
latent_image
,
denoise_mask
=
denoise_mask
)
negative
=
encode_model_conds
(
model
.
extra_conds
,
negative
,
noise
,
device
,
"negative"
,
latent_image
=
latent_image
,
denoise_mask
=
denoise_mask
)
#make sure each cond area has an opposite one with the same area
for
c
in
positive
:
create_cond_with_same_area_if_none
(
negative
,
c
)
...
...
@@ -613,9 +617,6 @@ def sample(model, noise, positive, negative, cfg, device, sampler, sigmas, model
if
latent_image
is
not
None
:
latent_image
=
model
.
process_latent_in
(
latent_image
)
if
hasattr
(
model
,
'extra_conds'
):
positive
=
encode_model_conds
(
model
.
extra_conds
,
positive
,
noise
,
device
,
"positive"
,
latent_image
=
latent_image
,
denoise_mask
=
denoise_mask
)
negative
=
encode_model_conds
(
model
.
extra_conds
,
negative
,
noise
,
device
,
"negative"
,
latent_image
=
latent_image
,
denoise_mask
=
denoise_mask
)
extra_args
=
{
"cond"
:
positive
,
"uncond"
:
negative
,
"cond_scale"
:
cfg
,
"model_options"
:
model_options
,
"seed"
:
seed
}
...
...
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