From 55342fcd58af495948ecc1e3d047df9953140a81 Mon Sep 17 00:00:00 2001 From: lllyasviel Date: Wed, 16 Aug 2023 13:04:32 -0700 Subject: [PATCH] 1.0.32 (#158) Fooocus private log --- fooocus_version.py | 2 +- modules/async_worker.py | 21 +++++++++++++++------ modules/private_logger.py | 36 ++++++++++++++++++++++++++++++++++++ modules/util.py | 2 +- update_log.md | 4 ++++ 5 files changed, 57 insertions(+), 8 deletions(-) create mode 100644 modules/private_logger.py diff --git a/fooocus_version.py b/fooocus_version.py index 6cea6edd..0d7168ae 100644 --- a/fooocus_version.py +++ b/fooocus_version.py @@ -1 +1 @@ -version = '1.0.31' +version = '1.0.32' diff --git a/modules/async_worker.py b/modules/async_worker.py index a0e1b32c..8e209241 100644 --- a/modules/async_worker.py +++ b/modules/async_worker.py @@ -8,7 +8,6 @@ outputs = [] def worker(): global buffer, outputs - import os import time import shared import random @@ -16,9 +15,8 @@ def worker(): import modules.path import modules.patch - from PIL import Image from modules.sdxl_styles import apply_style, aspect_ratios - from modules.util import generate_temp_filename + from modules.private_logger import log try: async_gradio_app = shared.gradio_root @@ -72,9 +70,20 @@ def worker(): imgs = pipeline.process(p_txt, n_txt, steps, switch, width, height, seed, callback=callback) for x in imgs: - local_temp_filename = generate_temp_filename(folder=modules.path.temp_outputs_path, extension='png') - os.makedirs(os.path.dirname(local_temp_filename), exist_ok=True) - Image.fromarray(x).save(local_temp_filename) + d = [ + ('Prompt', prompt), + ('Negative Prompt', negative_prompt), + ('Style', style_selction), + ('Performance', performance_selction), + ('Resolution', aspect_ratios_selction), + ('Sharpness', sharpness), + ('Base Model', base_model_name), + ('Refiner Model', refiner_model_name), + ] + for n, w in loras: + if n != 'None': + d.append((f'Lora [{n}] weight', w)) + log(x, d) seed += 1 results += imgs diff --git a/modules/private_logger.py b/modules/private_logger.py new file mode 100644 index 00000000..5a5db49f --- /dev/null +++ b/modules/private_logger.py @@ -0,0 +1,36 @@ +import os +import modules.path + +from PIL import Image +from modules.util import generate_temp_filename + + +def log(img, dic): + date_string, local_temp_filename, only_name = generate_temp_filename(folder=modules.path.temp_outputs_path, extension='png') + os.makedirs(os.path.dirname(local_temp_filename), exist_ok=True) + Image.fromarray(img).save(local_temp_filename) + html_name = os.path.join(os.path.dirname(local_temp_filename), 'log.html') + + if not os.path.exists(html_name): + with open(html_name, 'a+') as f: + f.write(f"

Fooocus Log {date_string} (private)

\n") + f.write(f"

All images do not contain any hidden data.

") + + with open(html_name, 'a+') as f: + f.write(f"
\n") + f.write(f"

{only_name}

\n") + i = 0 + for k, v in dic: + if i < 2: + f.write(f"

{k}: {v}

\n") + else: + if i % 2 == 0: + f.write(f"

{k}: {v}, ") + else: + f.write(f"{k}: {v}

\n") + i += 1 + f.write(f"

\n") + + print(f'Image generated with private log at: {html_name}') + + return diff --git a/modules/util.py b/modules/util.py index d7bdf427..d13f844c 100644 --- a/modules/util.py +++ b/modules/util.py @@ -10,4 +10,4 @@ def generate_temp_filename(folder='./outputs/', extension='png'): random_number = random.randint(1000, 9999) filename = f"{time_string}_{random_number}.{extension}" result = os.path.join(folder, date_string, filename) - return os.path.abspath(os.path.realpath(result)) + return date_string, os.path.abspath(os.path.realpath(result)), filename diff --git a/update_log.md b/update_log.md index 27932016..a7f7d55a 100644 --- a/update_log.md +++ b/update_log.md @@ -1,3 +1,7 @@ +### 1.0.32 + +* Fooocus private log + ### 1.0.31 * Fix typo and UI.