Skip to content

Commit e526f6b

Browse files
Merge pull request #3970 from evshiron/fix/progress-api
fix broken progress api and current image compatibility
2 parents 9053042 + 51e0a83 commit e526f6b

File tree

2 files changed

+14
-2
lines changed

2 files changed

+14
-2
lines changed

modules/api/api.py

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,9 @@
55
from gradio.processing_utils import decode_base64_to_file, decode_base64_to_image
66
from fastapi import APIRouter, Depends, HTTPException
77
import modules.shared as shared
8-
from modules import devices
98
from modules.api.models import *
109
from modules.processing import StableDiffusionProcessingTxt2Img, StableDiffusionProcessingImg2Img, process_images
11-
from modules.sd_samplers import all_samplers
10+
from modules.sd_samplers import all_samplers, sample_to_image, samples_to_image_grid
1211
from modules.extras import run_extras, run_pnginfo
1312

1413

@@ -179,6 +178,16 @@ def progressapi(self, req: ProgressRequest = Depends()):
179178

180179
progress = min(progress, 1)
181180

181+
# copy from check_progress_call of ui.py
182+
183+
if shared.parallel_processing_allowed:
184+
if shared.state.sampling_step - shared.state.current_image_sampling_step >= shared.opts.show_progress_every_n_steps and shared.state.current_latent is not None:
185+
if shared.opts.show_progress_grid:
186+
shared.state.current_image = samples_to_image_grid(shared.state.current_latent)
187+
else:
188+
shared.state.current_image = sample_to_image(shared.state.current_latent)
189+
shared.state.current_image_sampling_step = shared.state.sampling_step
190+
182191
current_image = None
183192
if shared.state.current_image and not req.skip_current_image:
184193
current_image = encode_pil_to_base64(shared.state.current_image)

modules/shared.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import os
55
import sys
66
from collections import OrderedDict
7+
import time
78

89
import gradio as gr
910
import tqdm
@@ -135,6 +136,7 @@ class State:
135136
current_image = None
136137
current_image_sampling_step = 0
137138
textinfo = None
139+
time_start = None
138140
need_restart = False
139141

140142
def skip(self):
@@ -172,6 +174,7 @@ def begin(self):
172174
self.skipped = False
173175
self.interrupted = False
174176
self.textinfo = None
177+
self.time_start = time.time()
175178

176179
devices.torch_gc()
177180

0 commit comments

Comments
 (0)