Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: use consistent file name in gradio #1932

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions args_manager.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
import ldm_patched.modules.args_parser as args_parser
import os

from tempfile import gettempdir

args_parser.parser.add_argument("--share", action='store_true', help="Set whether to share on Gradio.")
args_parser.parser.add_argument("--preset", type=str, default=None, help="Apply specified UI preset.")
Expand Down Expand Up @@ -40,7 +42,11 @@
if args_parser.args.disable_analytics:
import os
os.environ["GRADIO_ANALYTICS_ENABLED"] = "False"

if args_parser.args.disable_in_browser:
args_parser.args.in_browser = False

if args_parser.args.temp_path is None:
args_parser.args.temp_path = os.path.join(gettempdir(), 'Fooocus')

args = args_parser.args
1 change: 0 additions & 1 deletion ldm_patched/modules/args_parser.py
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,6 @@ class LatentPreviewMethod(enum.Enum):
vram_group.add_argument("--always-no-vram", action="store_true")
vram_group.add_argument("--always-cpu", type=int, nargs="?", metavar="CPU_NUM_THREADS", const=-1)


parser.add_argument("--always-offload-from-vram", action="store_true")
parser.add_argument("--pytorch-deterministic", action="store_true")

Expand Down
9 changes: 5 additions & 4 deletions modules/async_worker.py
Original file line number Diff line number Diff line change
Expand Up @@ -563,8 +563,8 @@ def handler(async_task):

if direct_return:
d = [('Upscale (Fast)', '2x')]
log(uov_input_image, d)
yield_result(async_task, uov_input_image, do_not_show_finished_images=True)
uov_input_image_path = log(uov_input_image, d)
yield_result(async_task, uov_input_image_path, do_not_show_finished_images=True)
return

tiled = True
Expand Down Expand Up @@ -828,6 +828,7 @@ def callback(step, x0, x, total_steps, y):
if inpaint_worker.current_task is not None:
imgs = [inpaint_worker.current_task.post_process(x) for x in imgs]

img_paths = []
for x in imgs:
d = [
('Prompt', task['log_positive_prompt']),
Expand All @@ -853,9 +854,9 @@ def callback(step, x0, x, total_steps, y):
if n != 'None':
d.append((f'LoRA {li + 1}', f'{n} : {w}'))
d.append(('Version', 'v' + fooocus_version.version))
log(x, d)
img_paths.append(log(x, d))

yield_result(async_task, imgs, do_not_show_finished_images=len(tasks) == 1 or disable_intermediate_results)
yield_result(async_task, img_paths, do_not_show_finished_images=len(tasks) == 1 or disable_intermediate_results)
except ldm_patched.modules.model_management.InterruptProcessingException as e:
if async_task.last_stop == 'skip':
print('User skipped')
Expand Down
16 changes: 9 additions & 7 deletions modules/private_logger.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

from PIL import Image
from modules.util import generate_temp_filename

from tempfile import gettempdir

log_cache = {}

Expand All @@ -18,13 +18,15 @@ def get_current_html_path():
return html_name


def log(img, dic):
if args_manager.args.disable_image_log:
return

date_string, local_temp_filename, only_name = generate_temp_filename(folder=modules.config.path_outputs, extension='png')
def log(img, dic) -> str:
path_outputs = args_manager.args.temp_path if args_manager.args.disable_image_log else modules.config.path_outputs
date_string, local_temp_filename, only_name = generate_temp_filename(folder=path_outputs, extension='png')
os.makedirs(os.path.dirname(local_temp_filename), exist_ok=True)
Image.fromarray(img).save(local_temp_filename)

if args_manager.args.disable_image_log:
return local_temp_filename

html_name = os.path.join(os.path.dirname(local_temp_filename), 'log.html')

css_styles = (
Expand Down Expand Up @@ -105,4 +107,4 @@ def log(img, dic):

log_cache[html_name] = middle_part

return
return local_temp_filename
5 changes: 5 additions & 0 deletions webui.py
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,11 @@ def generate_clicked(task):
gr.update(visible=True, value=product)
finished = True

# delete Fooocus temp images, only keep gradio temp images
if args_manager.args.disable_image_log:
for filepath in product:
os.remove(filepath)

execution_time = time.perf_counter() - execution_start_time
print(f'Total time: {execution_time:.2f} seconds')
return
Expand Down