From 3902707d9b3811549940b43772a5cfb45edfd7d0 Mon Sep 17 00:00:00 2001 From: Krithic Kumar Date: Tue, 7 May 2024 13:41:24 +0530 Subject: [PATCH 1/5] fix: vae path validation --- kohya_gui/dreambooth_gui.py | 2 +- kohya_gui/lora_gui.py | 2 +- kohya_gui/textual_inversion_gui.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/kohya_gui/dreambooth_gui.py b/kohya_gui/dreambooth_gui.py index c1b2283d2..7a6525490 100644 --- a/kohya_gui/dreambooth_gui.py +++ b/kohya_gui/dreambooth_gui.py @@ -541,7 +541,7 @@ def train_model( if not validate_folder_path(train_data_dir): return TRAIN_BUTTON_VISIBLE - if not validate_file_path(vae): + if not validate_model_path(vae): return TRAIN_BUTTON_VISIBLE # # End of path validation diff --git a/kohya_gui/lora_gui.py b/kohya_gui/lora_gui.py index 50e30acb2..28d26a458 100644 --- a/kohya_gui/lora_gui.py +++ b/kohya_gui/lora_gui.py @@ -732,7 +732,7 @@ def train_model( if not validate_folder_path(train_data_dir): return TRAIN_BUTTON_VISIBLE - if not validate_file_path(vae): + if not validate_model_path(vae): return TRAIN_BUTTON_VISIBLE # diff --git a/kohya_gui/textual_inversion_gui.py b/kohya_gui/textual_inversion_gui.py index 81bb36b12..fbd176f3a 100644 --- a/kohya_gui/textual_inversion_gui.py +++ b/kohya_gui/textual_inversion_gui.py @@ -542,7 +542,7 @@ def train_model( if not validate_folder_path(train_data_dir): return TRAIN_BUTTON_VISIBLE - if not validate_file_path(vae): + if not validate_model_path(vae): return TRAIN_BUTTON_VISIBLE # From 5984c87d2254bf4e19867e093ad4ada9e9b19ed7 Mon Sep 17 00:00:00 2001 From: bmaltais Date: Tue, 7 May 2024 07:17:27 -0400 Subject: [PATCH 2/5] Update model validation code --- kohya_gui/common_gui.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/kohya_gui/common_gui.py b/kohya_gui/common_gui.py index 43f247667..4f021fd95 100644 --- a/kohya_gui/common_gui.py +++ b/kohya_gui/common_gui.py @@ -1420,10 +1420,8 @@ def validate_model_path(pretrained_model_name_or_path: str) -> bool: log.info(f"{msg} SUCCESS") else: # If not one of the default models, check if it's a valid local path - if not os.path.exists(pretrained_model_name_or_path): - log.error(f"{msg} FAILED: is missing or does not exist") + if not validate_file_path(pretrained_model_name_or_path): return False - log.info(f"{msg} SUCCESS") return True From 7fac1e89dde86eb3f24d69e21b4412e3f3a1c23f Mon Sep 17 00:00:00 2001 From: bmaltais Date: Tue, 7 May 2024 07:58:11 -0400 Subject: [PATCH 3/5] Move env var config to common_gui --- kohya_gui/basic_caption_gui.py | 7 ++----- kohya_gui/blip_caption_gui.py | 8 ++------ kohya_gui/class_tensorboard.py | 4 ++-- kohya_gui/common_gui.py | 12 ++++++++++++ kohya_gui/convert_lcm_gui.py | 8 ++------ kohya_gui/convert_model_gui.py | 9 ++------- kohya_gui/dreambooth_gui.py | 7 ++----- kohya_gui/extract_lora_from_dylora_gui.py | 9 ++------- kohya_gui/extract_lora_gui.py | 9 ++------- kohya_gui/extract_lycoris_locon_gui.py | 9 ++------- kohya_gui/finetune_gui.py | 24 ++++------------------- kohya_gui/git_caption_gui.py | 9 ++------- kohya_gui/group_images_gui.py | 9 ++------- kohya_gui/lora_gui.py | 8 ++------ kohya_gui/merge_lora_gui.py | 9 ++------- kohya_gui/merge_lycoris_gui.py | 8 ++------ kohya_gui/resize_lora_gui.py | 10 ++-------- kohya_gui/svd_merge_lora_gui.py | 9 ++------- kohya_gui/textual_inversion_gui.py | 10 ++-------- kohya_gui/verify_lora_gui.py | 10 ++-------- kohya_gui/wd14_caption_gui.py | 9 ++------- 21 files changed, 54 insertions(+), 143 deletions(-) diff --git a/kohya_gui/basic_caption_gui.py b/kohya_gui/basic_caption_gui.py index d38fea750..99b32cdac 100644 --- a/kohya_gui/basic_caption_gui.py +++ b/kohya_gui/basic_caption_gui.py @@ -6,6 +6,7 @@ find_replace, scriptdir, list_dirs, + setup_environment, ) import os import sys @@ -84,11 +85,7 @@ def caption_images( log.info(f"Executing command: {command_to_run}") # Set the environment variable for the Python path - env = os.environ.copy() - env["PYTHONPATH"] = ( - rf"{scriptdir}{os.pathsep}{scriptdir}/sd-scripts{os.pathsep}{env.get('PYTHONPATH', '')}" - ) - env["TF_ENABLE_ONEDNN_OPTS"] = "0" + env = setup_environment(scriptdir=scriptdir) # Run the command in the sd-scripts folder context subprocess.run(run_cmd, env=env, shell=False) diff --git a/kohya_gui/blip_caption_gui.py b/kohya_gui/blip_caption_gui.py index 215f0027b..a710acc6a 100644 --- a/kohya_gui/blip_caption_gui.py +++ b/kohya_gui/blip_caption_gui.py @@ -2,7 +2,7 @@ import subprocess import os import sys -from .common_gui import get_folder_path, add_pre_postfix, scriptdir, list_dirs +from .common_gui import get_folder_path, add_pre_postfix, scriptdir, list_dirs, setup_environment from .custom_logging import setup_logging # Set up logging @@ -87,11 +87,7 @@ def caption_images( ) # Set up the environment - env = os.environ.copy() - env["PYTHONPATH"] = ( - rf"{scriptdir}{os.pathsep}{scriptdir}/sd-scripts{os.pathsep}{env.get('PYTHONPATH', '')}" - ) - env["TF_ENABLE_ONEDNN_OPTS"] = "0" + env = setup_environment(scriptdir=scriptdir) # Reconstruct the safe command string for display command_to_run = " ".join(run_cmd) diff --git a/kohya_gui/class_tensorboard.py b/kohya_gui/class_tensorboard.py index 5e95ebf53..2f2be2b72 100644 --- a/kohya_gui/class_tensorboard.py +++ b/kohya_gui/class_tensorboard.py @@ -15,6 +15,7 @@ from easygui import msgbox from threading import Thread, Event from .custom_logging import setup_logging +from .common_gui import setup_environment class TensorboardManager: @@ -72,8 +73,7 @@ def start_tensorboard(self, logging_dir=None): self.log.info("Starting TensorBoard on port {}".format(self.tensorboard_port)) try: - env = os.environ.copy() - env["TF_ENABLE_ONEDNN_OPTS"] = "0" + env = setup_environment(scriptdir=scriptdir) self.tensorboard_proc = subprocess.Popen(run_cmd, env=env) except Exception as e: self.log.error("Failed to start Tensorboard:", e) diff --git a/kohya_gui/common_gui.py b/kohya_gui/common_gui.py index 4f021fd95..0252ff118 100644 --- a/kohya_gui/common_gui.py +++ b/kohya_gui/common_gui.py @@ -1484,3 +1484,15 @@ def validate_args_setting(input_string): "A valid settings string must consist of one or more key/value pairs formatted as key=value, with no spaces around the equals sign or within the value. Multiple pairs should be separated by a space." ) return False + +def setup_environment(scriptdir: str): + env = os.environ.copy() + env["PYTHONPATH"] = ( + fr"{scriptdir}{os.pathsep}{scriptdir}/sd-scripts{os.pathsep}{env.get('PYTHONPATH', '')}" + ) + env["TF_ENABLE_ONEDNN_OPTS"] = "0" + + if os.name == "nt": + env["XFORMERS_FORCE_DISABLE_TRITON"] = "1" + + return env diff --git a/kohya_gui/convert_lcm_gui.py b/kohya_gui/convert_lcm_gui.py index 92c3d3432..8f71902bc 100644 --- a/kohya_gui/convert_lcm_gui.py +++ b/kohya_gui/convert_lcm_gui.py @@ -7,7 +7,7 @@ get_file_path, scriptdir, list_files, - create_refresh_button, + create_refresh_button, setup_environment ) from .custom_logging import setup_logging @@ -62,11 +62,7 @@ def convert_lcm( run_cmd.append("--ssd-1b") # Set up the environment - env = os.environ.copy() - env["PYTHONPATH"] = ( - fr"{scriptdir}{os.pathsep}{scriptdir}/sd-scripts{os.pathsep}{env.get('PYTHONPATH', '')}" - ) - env["TF_ENABLE_ONEDNN_OPTS"] = "0" + env = setup_environment(scriptdir=scriptdir) # Reconstruct the safe command string for display command_to_run = " ".join(run_cmd) diff --git a/kohya_gui/convert_model_gui.py b/kohya_gui/convert_model_gui.py index 7d4b30e85..93ce4fe01 100644 --- a/kohya_gui/convert_model_gui.py +++ b/kohya_gui/convert_model_gui.py @@ -2,7 +2,7 @@ import subprocess import os import sys -from .common_gui import get_folder_path, get_file_path, scriptdir, list_files, list_dirs +from .common_gui import get_folder_path, get_file_path, scriptdir, list_files, list_dirs, setup_environment from .custom_logging import setup_logging @@ -99,12 +99,7 @@ def convert_model( # Log the command log.info(" ".join(run_cmd)) - env = os.environ.copy() - env["PYTHONPATH"] = ( - rf"{scriptdir}{os.pathsep}{scriptdir}/sd-scripts{os.pathsep}{env.get('PYTHONPATH', '')}" - ) - # Adding an example of an environment variable that might be relevant - env["TF_ENABLE_ONEDNN_OPTS"] = "0" + env = setup_environment(scriptdir=scriptdir) # Run the command subprocess.run(run_cmd, env=env, shell=False) diff --git a/kohya_gui/dreambooth_gui.py b/kohya_gui/dreambooth_gui.py index 7a6525490..ae4c8efa6 100644 --- a/kohya_gui/dreambooth_gui.py +++ b/kohya_gui/dreambooth_gui.py @@ -19,6 +19,7 @@ update_my_data, validate_file_path, validate_folder_path, validate_model_path, validate_args_setting, + setup_environment, ) from .class_accelerate_launch import AccelerateLaunch from .class_configuration_file import ConfigurationFile @@ -898,11 +899,7 @@ def train_model( # log.info(run_cmd) - env = os.environ.copy() - env["PYTHONPATH"] = ( - fr"{scriptdir}{os.pathsep}{scriptdir}/sd-scripts{os.pathsep}{env.get('PYTHONPATH', '')}" - ) - env["TF_ENABLE_ONEDNN_OPTS"] = "0" + env = setup_environment(scriptdir=scriptdir) # Run the command diff --git a/kohya_gui/extract_lora_from_dylora_gui.py b/kohya_gui/extract_lora_from_dylora_gui.py index 00e0c3eb3..63f91ba3c 100644 --- a/kohya_gui/extract_lora_from_dylora_gui.py +++ b/kohya_gui/extract_lora_from_dylora_gui.py @@ -6,7 +6,7 @@ get_file_path, scriptdir, list_files, - create_refresh_button, + create_refresh_button, setup_environment ) from .custom_logging import setup_logging @@ -59,12 +59,7 @@ def extract_dylora( str(unit), ] - env = os.environ.copy() - env["PYTHONPATH"] = ( - fr"{scriptdir}{os.pathsep}{scriptdir}/sd-scripts{os.pathsep}{env.get('PYTHONPATH', '')}" - ) - # Example environment variable adjustment for the Python environment - env["TF_ENABLE_ONEDNN_OPTS"] = "0" + env = setup_environment(scriptdir=scriptdir) # Reconstruct the safe command string for display command_to_run = " ".join(run_cmd) diff --git a/kohya_gui/extract_lora_gui.py b/kohya_gui/extract_lora_gui.py index 1a9ad7849..886bff05c 100644 --- a/kohya_gui/extract_lora_gui.py +++ b/kohya_gui/extract_lora_gui.py @@ -8,7 +8,7 @@ is_file_writable, scriptdir, list_files, - create_refresh_button, + create_refresh_button, setup_environment ) from .custom_logging import setup_logging @@ -109,12 +109,7 @@ def extract_lora( run_cmd.append("--load_tuned_model_to") run_cmd.append(load_tuned_model_to) - env = os.environ.copy() - env["PYTHONPATH"] = ( - rf"{scriptdir}{os.pathsep}{scriptdir}/sd-scripts{os.pathsep}{env.get('PYTHONPATH', '')}" - ) - # Adding an example of another potentially relevant environment variable - env["TF_ENABLE_ONEDNN_OPTS"] = "0" + env = setup_environment(scriptdir=scriptdir) # Reconstruct the safe command string for display command_to_run = " ".join(run_cmd) diff --git a/kohya_gui/extract_lycoris_locon_gui.py b/kohya_gui/extract_lycoris_locon_gui.py index 6676edb3f..5805a7acb 100644 --- a/kohya_gui/extract_lycoris_locon_gui.py +++ b/kohya_gui/extract_lycoris_locon_gui.py @@ -7,7 +7,7 @@ get_file_path, scriptdir, list_files, - create_refresh_button, + create_refresh_button, setup_environment ) from .custom_logging import setup_logging @@ -123,12 +123,7 @@ def extract_lycoris_locon( run_cmd.append(fr"{db_model}") run_cmd.append(fr"{output_name}") - env = os.environ.copy() - env["PYTHONPATH"] = ( - fr"{scriptdir}{os.pathsep}{scriptdir}/sd-scripts{os.pathsep}{env.get('PYTHONPATH', '')}" - ) - # Adding an example of an environment variable that might be relevant - env["TF_ENABLE_ONEDNN_OPTS"] = "0" + env = setup_environment(scriptdir=scriptdir) # Reconstruct the safe command string for display command_to_run = " ".join(run_cmd) diff --git a/kohya_gui/finetune_gui.py b/kohya_gui/finetune_gui.py index 204b74f9f..ee7ed4cb1 100644 --- a/kohya_gui/finetune_gui.py +++ b/kohya_gui/finetune_gui.py @@ -19,7 +19,7 @@ scriptdir, update_my_data, validate_file_path, validate_folder_path, validate_model_path, - validate_args_setting, + validate_args_setting, setup_environment, ) from .class_accelerate_launch import AccelerateLaunch from .class_configuration_file import ConfigurationFile @@ -639,15 +639,7 @@ def train_model( log.info(" ".join(run_cmd)) # Prepare environment variables - env = os.environ.copy() - env["PYTHONPATH"] = ( - rf"{scriptdir}{os.pathsep}{scriptdir}/sd-scripts{os.pathsep}{env.get('PYTHONPATH', '')}" - ) - env["TF_ENABLE_ONEDNN_OPTS"] = "0" - - # Execute the command if not in print-only mode - if not print_only: - subprocess.run(run_cmd, env=env) + env = setup_environment(scriptdir=scriptdir) # create images buckets if generate_image_buckets: @@ -685,11 +677,7 @@ def train_model( log.info(" ".join(run_cmd)) # Copy and modify environment variables - env = os.environ.copy() - env["PYTHONPATH"] = ( - rf"{scriptdir}{os.pathsep}{scriptdir}/sd-scripts{os.pathsep}{env.get('PYTHONPATH', '')}" - ) - env["TF_ENABLE_ONEDNN_OPTS"] = "0" + env = setup_environment(scriptdir=scriptdir) # Execute the command if not just for printing if not print_only: @@ -965,11 +953,7 @@ def train_model( # log.info(run_cmd) - env = os.environ.copy() - env["PYTHONPATH"] = ( - rf"{scriptdir}{os.pathsep}{scriptdir}/sd-scripts{os.pathsep}{env.get('PYTHONPATH', '')}" - ) - env["TF_ENABLE_ONEDNN_OPTS"] = "0" + env = setup_environment(scriptdir=scriptdir) # Run the command executor.execute_command(run_cmd=run_cmd, env=env) diff --git a/kohya_gui/git_caption_gui.py b/kohya_gui/git_caption_gui.py index 13b38179b..335aed1ff 100644 --- a/kohya_gui/git_caption_gui.py +++ b/kohya_gui/git_caption_gui.py @@ -2,7 +2,7 @@ import subprocess import os import sys -from .common_gui import get_folder_path, add_pre_postfix, scriptdir, list_dirs +from .common_gui import get_folder_path, add_pre_postfix, scriptdir, list_dirs, setup_environment from .custom_logging import setup_logging @@ -58,12 +58,7 @@ def caption_images( # Add the directory containing the training data run_cmd.append(fr"{train_data_dir}") - env = os.environ.copy() - env["PYTHONPATH"] = ( - fr"{scriptdir}{os.pathsep}{scriptdir}/sd-scripts{os.pathsep}{env.get('PYTHONPATH', '')}" - ) - # Adding an example of an environment variable that might be relevant - env["TF_ENABLE_ONEDNN_OPTS"] = "0" + env = setup_environment(scriptdir=scriptdir) # Reconstruct the safe command string for display command_to_run = " ".join(run_cmd) diff --git a/kohya_gui/group_images_gui.py b/kohya_gui/group_images_gui.py index 08a7fc58b..404e23a81 100644 --- a/kohya_gui/group_images_gui.py +++ b/kohya_gui/group_images_gui.py @@ -1,6 +1,6 @@ import gradio as gr import subprocess -from .common_gui import get_folder_path, scriptdir, list_dirs +from .common_gui import get_folder_path, scriptdir, list_dirs, setup_environment import os import sys @@ -51,12 +51,7 @@ def group_images( run_cmd.append("--caption_ext") run_cmd.append(caption_ext) - env = os.environ.copy() - env["PYTHONPATH"] = ( - rf"{scriptdir}{os.pathsep}{scriptdir}/tools{os.pathsep}{env.get('PYTHONPATH', '')}" - ) - # Adding a common environmental setting as an example if it's missing in the original context - env["TF_ENABLE_ONEDNN_OPTS"] = "0" + env = setup_environment(scriptdir=scriptdir) # Reconstruct the safe command string for display command_to_run = " ".join(run_cmd) diff --git a/kohya_gui/lora_gui.py b/kohya_gui/lora_gui.py index 28d26a458..4ecc48913 100644 --- a/kohya_gui/lora_gui.py +++ b/kohya_gui/lora_gui.py @@ -20,7 +20,7 @@ scriptdir, update_my_data, validate_file_path, validate_folder_path, validate_model_path, validate_toml_file, - validate_args_setting, + validate_args_setting, setup_environment, ) from .class_accelerate_launch import AccelerateLaunch from .class_configuration_file import ConfigurationFile @@ -1282,11 +1282,7 @@ def train_model( ) # log.info(run_cmd) - env = os.environ.copy() - env["PYTHONPATH"] = ( - rf"{scriptdir}{os.pathsep}{scriptdir}/sd-scripts{os.pathsep}{env.get('PYTHONPATH', '')}" - ) - env["TF_ENABLE_ONEDNN_OPTS"] = "0" + env = setup_environment(scriptdir=scriptdir) # Run the command diff --git a/kohya_gui/merge_lora_gui.py b/kohya_gui/merge_lora_gui.py index 011e1c880..789c26865 100644 --- a/kohya_gui/merge_lora_gui.py +++ b/kohya_gui/merge_lora_gui.py @@ -13,7 +13,7 @@ get_file_path, scriptdir, list_files, - create_refresh_button, + create_refresh_button, setup_environment ) from .custom_logging import setup_logging @@ -451,12 +451,7 @@ def merge_lora( map(str, valid_ratios) ) # Convert ratios to strings and include them as separate arguments - env = os.environ.copy() - env["PYTHONPATH"] = ( - rf"{scriptdir}{os.pathsep}{scriptdir}/sd-scripts{os.pathsep}{env.get('PYTHONPATH', '')}" - ) - # Example of adding an environment variable for TensorFlow, if necessary - env["TF_ENABLE_ONEDNN_OPTS"] = "0" + env = setup_environment(scriptdir=scriptdir) # Reconstruct the safe command string for display command_to_run = " ".join(run_cmd) diff --git a/kohya_gui/merge_lycoris_gui.py b/kohya_gui/merge_lycoris_gui.py index db75a7ea9..a6e132584 100644 --- a/kohya_gui/merge_lycoris_gui.py +++ b/kohya_gui/merge_lycoris_gui.py @@ -7,7 +7,7 @@ get_file_path, scriptdir, list_files, - create_refresh_button, + create_refresh_button, setup_environment ) from .custom_logging import setup_logging @@ -59,11 +59,7 @@ def merge_lycoris( run_cmd.append("--is_v2") # Copy and update the environment variables - env = os.environ.copy() - env["PYTHONPATH"] = ( - fr"{scriptdir}{os.pathsep}{scriptdir}/sd-scripts{os.pathsep}{env.get('PYTHONPATH', '')}" - ) - env["TF_ENABLE_ONEDNN_OPTS"] = "0" + env = setup_environment(scriptdir=scriptdir) # Reconstruct the safe command string for display command_to_run = " ".join(run_cmd) diff --git a/kohya_gui/resize_lora_gui.py b/kohya_gui/resize_lora_gui.py index 932ccb8f0..7baaedf87 100644 --- a/kohya_gui/resize_lora_gui.py +++ b/kohya_gui/resize_lora_gui.py @@ -7,7 +7,7 @@ get_file_path, scriptdir, list_files, - create_refresh_button, + create_refresh_button, setup_environment ) from .custom_logging import setup_logging @@ -90,13 +90,7 @@ def resize_lora( if verbose: run_cmd.append("--verbose") - env = os.environ.copy() - env["PYTHONPATH"] = ( - rf"{scriptdir}{os.pathsep}{scriptdir}/sd-scripts{os.pathsep}{env.get('PYTHONPATH', '')}" - ) - - # Adding example environment variables if relevant - env["TF_ENABLE_ONEDNN_OPTS"] = "0" + env = setup_environment(scriptdir=scriptdir) # Reconstruct the safe command string for display command_to_run = " ".join(run_cmd) diff --git a/kohya_gui/svd_merge_lora_gui.py b/kohya_gui/svd_merge_lora_gui.py index 1e93fbc2e..5e8643006 100644 --- a/kohya_gui/svd_merge_lora_gui.py +++ b/kohya_gui/svd_merge_lora_gui.py @@ -7,7 +7,7 @@ get_file_path, scriptdir, list_files, - create_refresh_button, + create_refresh_button, setup_environment ) from .custom_logging import setup_logging @@ -95,12 +95,7 @@ def add_model(model_path, ratio): # Log the command log.info(" ".join(run_cmd)) - env = os.environ.copy() - env["PYTHONPATH"] = ( - rf"{scriptdir}{os.pathsep}{scriptdir}/sd-scripts{os.pathsep}{env.get('PYTHONPATH', '')}" - ) - # Example of setting additional environment variables if needed - env["TF_ENABLE_ONEDNN_OPTS"] = "0" + env = setup_environment(scriptdir=scriptdir) # Run the command subprocess.run(run_cmd, env=env) diff --git a/kohya_gui/textual_inversion_gui.py b/kohya_gui/textual_inversion_gui.py index fbd176f3a..47d24a81a 100644 --- a/kohya_gui/textual_inversion_gui.py +++ b/kohya_gui/textual_inversion_gui.py @@ -20,7 +20,7 @@ scriptdir, update_my_data, validate_file_path, validate_folder_path, validate_model_path, - validate_args_setting + validate_args_setting, setup_environment, ) from .class_accelerate_launch import AccelerateLaunch from .class_configuration_file import ConfigurationFile @@ -916,13 +916,7 @@ def train_model( exclusion=["file_path", "save_as", "headless", "print_only"], ) - # log.info(run_cmd) - - env = os.environ.copy() - env["PYTHONPATH"] = ( - f"{scriptdir}{os.pathsep}{scriptdir}/sd-scripts{os.pathsep}{env.get('PYTHONPATH', '')}" - ) - env["TF_ENABLE_ONEDNN_OPTS"] = "0" + env = setup_environment(scriptdir=scriptdir) # Run the command diff --git a/kohya_gui/verify_lora_gui.py b/kohya_gui/verify_lora_gui.py index e22d6e94a..888c88292 100644 --- a/kohya_gui/verify_lora_gui.py +++ b/kohya_gui/verify_lora_gui.py @@ -6,7 +6,7 @@ get_file_path, scriptdir, list_files, - create_refresh_button, + create_refresh_button, setup_environment ) from .custom_logging import setup_logging @@ -46,13 +46,7 @@ def verify_lora( log.info(f"Executing command: {command_to_run}") # Set the environment variable for the Python path - env = os.environ.copy() - env["PYTHONPATH"] = ( - rf"{scriptdir}{os.pathsep}{scriptdir}/sd-scripts{os.pathsep}{env.get('PYTHONPATH', '')}" - ) - - # Example of adding an environment variable for TensorFlow, if necessary - env["TF_ENABLE_ONEDNN_OPTS"] = "0" + env = setup_environment(scriptdir=scriptdir) # Run the command using subprocess.Popen for asynchronous handling process = subprocess.Popen( diff --git a/kohya_gui/wd14_caption_gui.py b/kohya_gui/wd14_caption_gui.py index 4ba4dfdb5..ba18195ef 100644 --- a/kohya_gui/wd14_caption_gui.py +++ b/kohya_gui/wd14_caption_gui.py @@ -5,7 +5,7 @@ add_pre_postfix, scriptdir, list_dirs, - get_executable_path, + get_executable_path, setup_environment, ) from .class_gui_config import KohyaSSGUIConfig import os @@ -117,12 +117,7 @@ def caption_images( # Add the directory containing the training data run_cmd.append(rf"{train_data_dir}") - env = os.environ.copy() - env["PYTHONPATH"] = ( - rf"{scriptdir}{os.pathsep}{scriptdir}/sd-scripts{os.pathsep}{env.get('PYTHONPATH', '')}" - ) - # Adding an example of an environment variable that might be relevant - env["TF_ENABLE_ONEDNN_OPTS"] = "0" + env = setup_environment(scriptdir=scriptdir) # Reconstruct the safe command string for display command_to_run = " ".join(run_cmd) From 79afb84f60e894fe9057309782cf51282d0678d1 Mon Sep 17 00:00:00 2001 From: bmaltais Date: Tue, 7 May 2024 19:06:40 -0400 Subject: [PATCH 4/5] Fix issue with svd merge int parameters handling --- kohya_gui/svd_merge_lora_gui.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/kohya_gui/svd_merge_lora_gui.py b/kohya_gui/svd_merge_lora_gui.py index 5e8643006..706845f68 100644 --- a/kohya_gui/svd_merge_lora_gui.py +++ b/kohya_gui/svd_merge_lora_gui.py @@ -71,7 +71,7 @@ def add_model(model_path, ratio): if not os.path.isfile(model_path): log.info(f"The provided model at {model_path} is not a file") return False - models.append(model_path) + models.append(fr"{model_path}") ratios.append(str(ratio)) return True @@ -89,7 +89,7 @@ def add_model(model_path, ratio): run_cmd.extend(["--ratios"] + ratios) run_cmd.extend( - ["--device", device, "--new_rank", new_rank, "--new_conv_rank", new_conv_rank] + ["--device", device, "--new_rank", str(new_rank), "--new_conv_rank", str(new_conv_rank)] ) # Log the command From ca668e805b720bbd6c2f8e3b0045989e9cdbf9f2 Mon Sep 17 00:00:00 2001 From: bmaltais Date: Tue, 7 May 2024 19:43:41 -0400 Subject: [PATCH 5/5] Update release --- .release | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.release b/.release index 485bf12fd..f4c599e66 100644 --- a/.release +++ b/.release @@ -1 +1 @@ -v24.1.1 \ No newline at end of file +v24.1.2 \ No newline at end of file