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
93c64afa
Commit
93c64afa
authored
May 02, 2023
by
comfyanonymous
Browse files
Use sampler callback instead of tqdm hook for progress bar.
parent
ba8a4c36
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
32 additions
and
9 deletions
+32
-9
comfy/utils.py
comfy/utils.py
+23
-0
main.py
main.py
+4
-8
nodes.py
nodes.py
+5
-1
No files found.
comfy/utils.py
View file @
93c64afa
...
@@ -86,3 +86,26 @@ def tiled_scale(samples, function, tile_x=64, tile_y=64, overlap = 8, upscale_am
...
@@ -86,3 +86,26 @@ def tiled_scale(samples, function, tile_x=64, tile_y=64, overlap = 8, upscale_am
output
[
b
:
b
+
1
]
=
out
/
out_div
output
[
b
:
b
+
1
]
=
out
/
out_div
return
output
return
output
PROGRESS_BAR_HOOK
=
None
def
set_progress_bar_global_hook
(
function
):
global
PROGRESS_BAR_HOOK
PROGRESS_BAR_HOOK
=
function
class
ProgressBar
:
def
__init__
(
self
,
total
):
global
PROGRESS_BAR_HOOK
self
.
total
=
total
self
.
current
=
0
self
.
hook
=
PROGRESS_BAR_HOOK
def
update_absolute
(
self
,
value
):
if
value
>
self
.
total
:
value
=
self
.
total
self
.
current
=
value
if
self
.
hook
is
not
None
:
self
.
hook
(
self
.
current
,
self
.
total
)
def
update
(
self
,
value
):
self
.
update_absolute
(
self
.
current
+
value
)
main.py
View file @
93c64afa
...
@@ -5,6 +5,7 @@ import shutil
...
@@ -5,6 +5,7 @@ import shutil
import
threading
import
threading
from
comfy.cli_args
import
args
from
comfy.cli_args
import
args
import
comfy.utils
if
os
.
name
==
"nt"
:
if
os
.
name
==
"nt"
:
import
logging
import
logging
...
@@ -39,14 +40,9 @@ async def run(server, address='', port=8188, verbose=True, call_on_start=None):
...
@@ -39,14 +40,9 @@ async def run(server, address='', port=8188, verbose=True, call_on_start=None):
await
asyncio
.
gather
(
server
.
start
(
address
,
port
,
verbose
,
call_on_start
),
server
.
publish_loop
())
await
asyncio
.
gather
(
server
.
start
(
address
,
port
,
verbose
,
call_on_start
),
server
.
publish_loop
())
def
hijack_progress
(
server
):
def
hijack_progress
(
server
):
from
tqdm.auto
import
tqdm
def
hook
(
value
,
total
):
orig_func
=
getattr
(
tqdm
,
"update"
)
server
.
send_sync
(
"progress"
,
{
"value"
:
value
,
"max"
:
total
},
server
.
client_id
)
def
wrapped_func
(
*
args
,
**
kwargs
):
comfy
.
utils
.
set_progress_bar_global_hook
(
hook
)
pbar
=
args
[
0
]
v
=
orig_func
(
*
args
,
**
kwargs
)
server
.
send_sync
(
"progress"
,
{
"value"
:
pbar
.
n
,
"max"
:
pbar
.
total
},
server
.
client_id
)
return
v
setattr
(
tqdm
,
"update"
,
wrapped_func
)
def
cleanup_temp
():
def
cleanup_temp
():
temp_dir
=
os
.
path
.
join
(
os
.
path
.
dirname
(
os
.
path
.
realpath
(
__file__
)),
"temp"
)
temp_dir
=
os
.
path
.
join
(
os
.
path
.
dirname
(
os
.
path
.
realpath
(
__file__
)),
"temp"
)
...
...
nodes.py
View file @
93c64afa
...
@@ -815,9 +815,13 @@ def common_ksampler(model, seed, steps, cfg, sampler_name, scheduler, positive,
...
@@ -815,9 +815,13 @@ def common_ksampler(model, seed, steps, cfg, sampler_name, scheduler, positive,
if
"noise_mask"
in
latent
:
if
"noise_mask"
in
latent
:
noise_mask
=
latent
[
"noise_mask"
]
noise_mask
=
latent
[
"noise_mask"
]
pbar
=
comfy
.
utils
.
ProgressBar
(
steps
)
def
callback
(
step
,
x0
,
x
):
pbar
.
update_absolute
(
step
+
1
)
samples
=
comfy
.
sample
.
sample
(
model
,
noise
,
steps
,
cfg
,
sampler_name
,
scheduler
,
positive
,
negative
,
latent_image
,
samples
=
comfy
.
sample
.
sample
(
model
,
noise
,
steps
,
cfg
,
sampler_name
,
scheduler
,
positive
,
negative
,
latent_image
,
denoise
=
denoise
,
disable_noise
=
disable_noise
,
start_step
=
start_step
,
last_step
=
last_step
,
denoise
=
denoise
,
disable_noise
=
disable_noise
,
start_step
=
start_step
,
last_step
=
last_step
,
force_full_denoise
=
force_full_denoise
,
noise_mask
=
noise_mask
)
force_full_denoise
=
force_full_denoise
,
noise_mask
=
noise_mask
,
callback
=
callback
)
out
=
latent
.
copy
()
out
=
latent
.
copy
()
out
[
"samples"
]
=
samples
out
[
"samples"
]
=
samples
return
(
out
,
)
return
(
out
,
)
...
...
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