diff --git a/CHANGELOG.md b/CHANGELOG.md index 18e522f55..73d2a83ea 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,7 +7,6 @@ - Add FreeU for *backend:diffusers* for *backend:original* use extension: - Add HyperTile: -- Convert IPEX slicing to generic: - Fix override settings This is a big one, with some major changes and new functionality... @@ -73,6 +72,7 @@ Upgrades are still possible and supported, but above is recommended for best exp should better handle more complex prompts for sdxl, choose which part of prompt goes to second text encoder - just add `TE2:` separator in the prompt for hires and refiner, second pass prompt is used if present, otherwise primary prompt is used + new option in *settings -> diffusers -> sdxl pooled embeds* thanks @AI-Casanova - better **Hires** support for SD and SDXL - better **TI embeddings** support for SD and SDXL diff --git a/cli/train.py b/cli/train.py index 3206180ec..2d7c9dab1 100755 --- a/cli/train.py +++ b/cli/train.py @@ -104,7 +104,7 @@ def parse_args(): group_train.add_argument('--dim', type=int, default=32, required=False, help='network dimension or number of vectors, default: %(default)s') # lora params - group_train.add_argument('--repeats', type=int, default=10, required=False, help='number of repeats per image, default: %(default)s') + group_train.add_argument('--repeats', type=int, default=1, required=False, help='number of repeats per image, default: %(default)s') group_train.add_argument('--alpha', type=float, default=0, required=False, help='lora/lyco alpha for weights scaling, default: dim/2') group_train.add_argument('--algo', type=str, default=None, choices=['locon', 'loha', 'lokr', 'ia3'], required=False, help='alternative lyco algoritm, default: %(default)s') group_train.add_argument('--args', type=str, default=None, required=False, help='lora/lyco additional network arguments, default: %(default)s') diff --git a/javascript/style.css b/javascript/style.css index 125a08f7e..d57086de0 100644 --- a/javascript/style.css +++ b/javascript/style.css @@ -87,7 +87,7 @@ button.custom-button{ #txt2img_actions_column, #img2img_actions_column { gap: 0.5em; height: fit-content; } #txt2img_generate_box > button, #img2img_generate_box > button { min-height: 42px; max-height: 42px; } #txt2img_generate_line2, #img2img_generate_line2, #txt2img_tools, #img2img_tools { display: flex; } -#txt2img_generate_line2 > button, #img2img_generate_line2 > button, #extras_generate_box > button, #txt2img_tools > button, #img2img_tools > button { height: 2.2em; line-height: 0; font-size: 1em; min-width: unset; display: block !important; } +#txt2img_generate_line2 > button, #img2img_generate_line2 > button, #extras_generate_box > button, #txt2img_tools > button, #img2img_tools > button { height: 2.2em; line-height: 0; font-size: var(--input-text-size); min-width: unset; display: block !important; } #txt2img_prompt, #txt2img_neg_prompt, #img2img_prompt, #img2img_neg_prompt { display: contents; } .interrogate-col{ min-width: 0 !important; max-width: fit-content; gap: 0.5em; } .interrogate-col > button{ flex: 1; } diff --git a/modules/extensions.py b/modules/extensions.py index dd571fe3d..11aa3bd2c 100644 --- a/modules/extensions.py +++ b/modules/extensions.py @@ -80,7 +80,7 @@ class Extension: return [] res = [] for filename in sorted(os.listdir(dirpath)): - if not filename.endswith(".py"): + if not filename.endswith(".py") and not filename.endswith(".js") and not filename.endswith(".mjs"): continue priority = '50' if os.path.isfile(os.path.join(dirpath, "..", ".priority")): diff --git a/modules/images.py b/modules/images.py index 517fde3a3..929119c65 100644 --- a/modules/images.py +++ b/modules/images.py @@ -490,6 +490,7 @@ def atomically_save_image(): try: with open(txt_fullfn, "w", encoding="utf8") as file: file.write(f"{exifinfo}\n") + shared.log.debug(f'Saving: text="{txt_fullfn}"') except Exception as e: shared.log.warning(f'Image description save failed: {txt_fullfn} {e}') with open(os.path.join(paths.data_path, "params.txt"), "w", encoding="utf8") as file: diff --git a/modules/shared.py b/modules/shared.py index f0d66daf7..953b34def 100644 --- a/modules/shared.py +++ b/modules/shared.py @@ -522,7 +522,7 @@ options_templates.update(options_section(('saving-paths', "Image Naming & Paths" "save_images_add_number": OptionInfo(True, "Add number to filename when saving", component_args=hide_dirs), "use_original_name_batch": OptionInfo(True, "Use original name for output filename during batch process"), "use_upscaler_name_as_suffix": OptionInfo(True, "Use upscaler name as filename suffix in the extras tab", gr.Checkbox, {"visible": False}), - "samples_filename_pattern": OptionInfo("[seq]-[prompt_words]", "Images filename pattern", component_args=hide_dirs), + "samples_filename_pattern": OptionInfo("[seq]-[model_name]-[prompt_words]", "Images filename pattern", component_args=hide_dirs), "outdir_sep_dirs": OptionInfo("

Directories

", "", gr.HTML), "save_to_dirs": OptionInfo(False, "Save images to a subdirectory"), @@ -548,7 +548,7 @@ options_templates.update(options_section(('ui', "User Interface"), { "gradio_theme": OptionInfo("black-teal", "UI theme", gr.Dropdown, lambda: {"choices": list_themes()}, refresh=refresh_themes), "theme_style": OptionInfo("Auto", "Theme mode", gr.Radio, {"choices": ["Auto", "Dark", "Light"]}), "tooltips": OptionInfo("UI Tooltips", "UI tooltips", gr.Radio, {"choices": ["None", "Browser default", "UI tooltips"], "visible": False}), - "compact_view": OptionInfo(True, "Compact view"), + "compact_view": OptionInfo(False, "Compact view"), "return_grid": OptionInfo(True, "Show grid in results"), "return_mask": OptionInfo(False, "For inpainting, include the greyscale mask in results"), "return_mask_composite": OptionInfo(False, "For inpainting, include masked composite in results"),