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
e6962120
"tools/vscode:/vscode.git/clone" did not exist on "3b1ecb13391a3fcc579b761ecfc7c482dcef8607"
Commit
e6962120
authored
Oct 19, 2023
by
comfyanonymous
Browse files
Make sure cond_concat is on the right device.
parent
45c972ab
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
7 additions
and
5 deletions
+7
-5
comfy/model_base.py
comfy/model_base.py
+3
-2
comfy/samplers.py
comfy/samplers.py
+4
-3
No files found.
comfy/model_base.py
View file @
e6962120
...
...
@@ -79,6 +79,7 @@ class BaseModel(torch.nn.Module):
denoise_mask
=
kwargs
.
get
(
"denoise_mask"
,
None
)
latent_image
=
kwargs
.
get
(
"latent_image"
,
None
)
noise
=
kwargs
.
get
(
"noise"
,
None
)
device
=
kwargs
[
"device"
]
def
blank_inpaint_image_like
(
latent_image
):
blank_image
=
torch
.
ones_like
(
latent_image
)
...
...
@@ -92,9 +93,9 @@ class BaseModel(torch.nn.Module):
for
ck
in
concat_keys
:
if
denoise_mask
is
not
None
:
if
ck
==
"mask"
:
cond_concat
.
append
(
denoise_mask
[:,:
1
])
cond_concat
.
append
(
denoise_mask
[:,:
1
]
.
to
(
device
)
)
elif
ck
==
"masked_image"
:
cond_concat
.
append
(
latent_image
)
#NOTE: the latent_image should be masked by the mask in pixel space
cond_concat
.
append
(
latent_image
.
to
(
device
)
)
#NOTE: the latent_image should be masked by the mask in pixel space
else
:
if
ck
==
"mask"
:
cond_concat
.
append
(
torch
.
ones_like
(
noise
)[:,:
1
])
...
...
comfy/samplers.py
View file @
e6962120
...
...
@@ -537,10 +537,11 @@ def encode_adm(model, conds, batch_size, width, height, device, prompt_type):
return
conds
def
encode_cond
(
model_function
,
key
,
conds
,
**
kwargs
):
def
encode_cond
(
model_function
,
key
,
conds
,
device
,
**
kwargs
):
for
t
in
range
(
len
(
conds
)):
x
=
conds
[
t
]
params
=
x
[
1
].
copy
()
params
[
"device"
]
=
device
for
k
in
kwargs
:
if
k
not
in
params
:
params
[
k
]
=
kwargs
[
k
]
...
...
@@ -677,8 +678,8 @@ def sample(model, noise, positive, negative, cfg, device, sampler, sigmas, model
negative
=
encode_adm
(
model
,
negative
,
noise
.
shape
[
0
],
noise
.
shape
[
3
],
noise
.
shape
[
2
],
device
,
"negative"
)
if
hasattr
(
model
,
'cond_concat'
):
positive
=
encode_cond
(
model
.
cond_concat
,
"concat"
,
positive
,
noise
=
noise
,
latent_image
=
latent_image
,
denoise_mask
=
denoise_mask
)
negative
=
encode_cond
(
model
.
cond_concat
,
"concat"
,
negative
,
noise
=
noise
,
latent_image
=
latent_image
,
denoise_mask
=
denoise_mask
)
positive
=
encode_cond
(
model
.
cond_concat
,
"concat"
,
positive
,
device
,
noise
=
noise
,
latent_image
=
latent_image
,
denoise_mask
=
denoise_mask
)
negative
=
encode_cond
(
model
.
cond_concat
,
"concat"
,
negative
,
device
,
noise
=
noise
,
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