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

[Bug]: Error when clicking on the 'Paste' button in case styles.csv file contain 2 instances of {prompt} in the same line #14005

Open
1 task done
talgreen1 opened this issue Nov 17, 2023 · 0 comments
Labels
bug-report Report of a bug, yet to be confirmed

Comments

@talgreen1
Copy link

Is there an existing issue for this?

  • I have searched the existing issues and checked the recent builds/commits

What happened?

When the styles.csv contains a prompt with 2 instances of {prompt}, when pasting some image data to the positive prompt area, and pressing the 'Paste' button (below the 'Generate' button) - an error will appear in the console, and nothing will happen.

Steps to reproduce the problem

  1. Create a style with the following positive prompt: image of {prompt} in {prompt}
  2. Restart webui
  3. Copy some image generation data (from the generated txt file)
  4. Paste it to the txt2image positive prompt text area
  5. Click the 'Paste' icon (the one below the 'Generate' button
    Result: Noting happens in the UI, and error appears in the console (see below)

What should have happened?

After clicking the 'Paste' icon, all the generation data should be populated in the relevant places in the UI.

Sysinfo

{
"Platform": "Windows-10-10.0.22621-SP0",
"Python": "3.10.6",
"Version": "v1.6.0-2-g4afaaf8a",
"Commit": "4afaaf8a020c1df457bcf7250cb1c7f609699fa7",
"Script path": "C:\StableDiffusion\stable-diffusion-webui",
"Data path": "C:\StableDiffusion\stable-diffusion-webui",
"Extensions dir": "C:\StableDiffusion\stable-diffusion-webui\extensions",
"Checksum": "5de0e966523347114ac403eab4373b5751f20b3eaed66c8c706688d0695fef70",
"Commandline": [
"launch.py",
"--medvram-sdxl",
"--enable-insecure-extension-access",
"--api",
"--no-half-vae",
"--listen",
"--ckpt-dir",
"d:\StableDiffustion\Models\Stable-diffusion",
"--lora-dir",
"d:\StableDiffustion\Models\Lora",
"--esrgan-models-path",
"d:\StableDiffustion\Models\ESRGAN",
"--realesrgan-models-path",
"d:\StableDiffustion\Models\RealESRGAN",
"--vae-dir",
"d:\StableDiffustion\Models\VAE",
"--embeddings-dir",
"d:\StableDiffustion\embeddings"
],
"Torch env info": {
"torch_version": "2.0.1+cu118",
"is_debug_build": "False",
"cuda_compiled_version": "11.8",
"gcc_version": null,
"clang_version": null,
"cmake_version": null,
"os": "??Microsoft Windows 11 Pro",
"libc_version": "N/A",
"python_version": "3.10.6 (tags/v3.10.6:9c7b4bd, Aug 1 2022, 21:53:49) [MSC v.1932 64 bit (AMD64)] (64-bit runtime)",
"python_platform": "Windows-10-10.0.22621-SP0",
"is_cuda_available": "True",
"cuda_runtime_version": "12.2.140\r",
"cuda_module_loading": "LAZY",
"nvidia_driver_version": "537.13",
"nvidia_gpu_models": "GPU 0: NVIDIA GeForce RTX 3060",
"cudnn_version": null,
"pip_version": "pip3",
"pip_packages": [
"numpy==1.23.5",
"open-clip-torch==2.20.0",
"pytorch-lightning==1.9.4",
"torch==2.0.1+cu118",
"torchdiffeq==0.2.3",
"torchmetrics==1.1.1",
"torchsde==0.2.5",
"torchvision==0.15.2+cu118"
],
"conda_packages": null,
"hip_compiled_version": "N/A",
"hip_runtime_version": "N/A",
"miopen_runtime_version": "N/A",
"caching_allocator_config": "",
"is_xnnpack_available": "True",
"cpu_info": [
"Architecture=9",
"CurrentClockSpeed=2496",
"DeviceID=CPU0",
"Family=198",
"L2CacheSize=4096",
"L2CacheSpeed=",
"Manufacturer=GenuineIntel",
"MaxClockSpeed=2496",
"Name=11th Gen Intel(R) Core(TM) i7-11700 @ 2.50GHz",
"ProcessorType=3",
"Revision="
]
},
"Exceptions": [],
"CPU": {
"model": "Intel64 Family 6 Model 167 Stepping 1, GenuineIntel",
"count logical": 16,
"count physical": 8
},
"RAM": {
"total": "16GB",
"used": "13GB",
"free": "3GB"
},
"Extensions": [
{
"name": "a1111-sd-webui-tagcomplete",
"path": "C:\StableDiffusion\stable-diffusion-webui\extensions\a1111-sd-webui-tagcomplete",
"version": "58804796",
"branch": "main",
"remote": "https://github.com/DominikDoom/a1111-sd-webui-tagcomplete"
},
{
"name": "adetailer",
"path": "C:\StableDiffusion\stable-diffusion-webui\extensions\adetailer",
"version": "6b41b3db",
"branch": "main",
"remote": "https://github.com/Bing-su/adetailer"
},
{
"name": "deforum-for-automatic1111-webui",
"path": "C:\StableDiffusion\stable-diffusion-webui\extensions\deforum-for-automatic1111-webui",
"version": "f0fb9d76",
"branch": "automatic1111-webui",
"remote": "https://github.com/deforum-art/deforum-for-automatic1111-webui.git"
},
{
"name": "infinite-zoom-automatic1111-webui",
"path": "C:\StableDiffusion\stable-diffusion-webui\extensions\infinite-zoom-automatic1111-webui",
"version": "d6461e7d",
"branch": "main",
"remote": "https://github.com/v8hid/infinite-zoom-automatic1111-webui.git"
},
{
"name": "sd-webui-animatediff",
"path": "C:\StableDiffusion\stable-diffusion-webui\extensions\sd-webui-animatediff",
"version": "a0ff37e8",
"branch": "master",
"remote": "https://github.com/continue-revolution/sd-webui-animatediff.git"
},
{
"name": "sd-webui-aspect-ratio-helper",
"path": "C:\StableDiffusion\stable-diffusion-webui\extensions\sd-webui-aspect-ratio-helper",
"version": "99fcf9b0",
"branch": "main",
"remote": "https://github.com/thomasasfk/sd-webui-aspect-ratio-helper.git"
},
{
"name": "sd-webui-controlnet",
"path": "C:\StableDiffusion\stable-diffusion-webui\extensions\sd-webui-controlnet",
"version": "05ef0b1c",
"branch": "main",
"remote": "https://github.com/Mikubill/sd-webui-controlnet.git"
},
{
"name": "sd-webui-inpaint-anything",
"path": "C:\StableDiffusion\stable-diffusion-webui\extensions\sd-webui-inpaint-anything",
"version": "a08995a7",
"branch": "main",
"remote": "https://github.com/Uminosachi/sd-webui-inpaint-anything.git"
},
{
"name": "stable-diffusion-webui-pixelization",
"path": "C:\StableDiffusion\stable-diffusion-webui\extensions\stable-diffusion-webui-pixelization",
"version": "e37251c5",
"branch": "master",
"remote": "https://github.com/AUTOMATIC1111/stable-diffusion-webui-pixelization"
},
{
"name": "stable-diffusion-webui-rembg",
"path": "C:\StableDiffusion\stable-diffusion-webui\extensions\stable-diffusion-webui-rembg",
"version": "3d9eedbb",
"branch": "master",
"remote": "https://github.com/AUTOMATIC1111/stable-diffusion-webui-rembg.git"
},
{
"name": "ultimate-upscale-for-automatic1111",
"path": "C:\StableDiffusion\stable-diffusion-webui\extensions\ultimate-upscale-for-automatic1111",
"version": "728ffcec",
"branch": "master",
"remote": "https://github.com/Coyote-A/ultimate-upscale-for-automatic1111.git"
}
],
"Inactive extensions": [],
"Environment": {
"COMMANDLINE_ARGS": "--medvram-sdxl --enable-insecure-extension-access --api --no-half-vae --listen --ckpt-dir d:\\StableDiffustion\\Models\\Stable-diffusion --lora-dir d:\\StableDiffustion\\Models\\Lora --esrgan-models-path d:\\StableDiffustion\\Models\\ESRGAN --realesrgan-models-path d:\\StableDiffustion\\Models\\RealESRGAN --vae-dir d:\\StableDiffustion\\Models\\VAE --embeddings-dir d:\\StableDiffustion\\embeddings ",
"GRADIO_ANALYTICS_ENABLED": "False"
},
"Config": {
"samples_save": true,
"samples_format": "png",
"samples_filename_pattern": "",
"save_images_add_number": true,
"grid_save": true,
"grid_format": "png",
"grid_extended_filename": true,
"grid_only_if_multiple": true,
"grid_prevent_empty_spots": false,
"grid_zip_filename_pattern": "",
"n_rows": -1,
"font": "",
"grid_text_active_color": "#000000",
"grid_text_inactive_color": "#999999",
"grid_background_color": "#ffffff",
"enable_pnginfo": true,
"save_txt": true,
"save_images_before_face_restoration": false,
"save_images_before_highres_fix": false,
"save_images_before_color_correction": false,
"save_mask": false,
"save_mask_composite": false,
"jpeg_quality": 80,
"webp_lossless": false,
"export_for_4chan": true,
"img_downscale_threshold": 4.0,
"target_side_length": 4000,
"img_max_size_mp": 200,
"use_original_name_batch": true,
"use_upscaler_name_as_suffix": false,
"save_selected_only": true,
"save_init_img": false,
"temp_dir": "",
"clean_temp_dir_at_start": false,
"save_incomplete_images": false,
"outdir_samples": "",
"outdir_txt2img_samples": "outputs/txt2img-images",
"outdir_img2img_samples": "outputs/img2img-images",
"outdir_extras_samples": "outputs/extras-images",
"outdir_grids": "",
"outdir_txt2img_grids": "outputs/txt2img-grids",
"outdir_img2img_grids": "outputs/img2img-grids",
"outdir_save": "log/images",
"outdir_init_images": "outputs/init-images",
"save_to_dirs": true,
"grid_save_to_dirs": true,
"use_save_to_dirs_for_ui": false,
"directories_filename_pattern": "[date]",
"directories_max_prompt_words": 8,
"ESRGAN_tile": 192,
"ESRGAN_tile_overlap": 8,
"realesrgan_enabled_models": [
"R-ESRGAN 4x+",
"R-ESRGAN 4x+ Anime6B"
],
"upscaler_for_img2img": null,
"face_restoration": false,
"face_restoration_model": "CodeFormer",
"code_former_weight": 0.5,
"face_restoration_unload": false,
"auto_launch_browser": "Local",
"show_warnings": false,
"show_gradio_deprecation_warnings": true,
"memmon_poll_rate": 8,
"samples_log_stdout": false,
"multiple_tqdm": true,
"print_hypernet_extra": false,
"list_hidden_files": true,
"disable_mmap_load_safetensors": false,
"hide_ldm_prints": true,
"api_enable_requests": true,
"api_forbid_local_requests": true,
"api_useragent": "",
"unload_models_when_training": false,
"pin_memory": false,
"save_optimizer_state": false,
"save_training_settings_to_txt": true,
"dataset_filename_word_regex": "",
"dataset_filename_join_string": " ",
"training_image_repeats_per_epoch": 1,
"training_write_csv_every": 500,
"training_xattention_optimizations": false,
"training_enable_tensorboard": false,
"training_tensorboard_save_images": false,
"training_tensorboard_flush_every": 120,
"sd_model_checkpoint": "realisticVisionV51_v51VAE.safetensors [15012c538f]",
"sd_checkpoints_limit": 3,
"sd_checkpoints_keep_in_cpu": true,
"sd_checkpoint_cache": 0,
"sd_unet": "Automatic",
"enable_quantization": false,
"enable_emphasis": true,
"enable_batch_seeds": true,
"comma_padding_backtrack": 20,
"CLIP_stop_at_last_layers": 1,
"upcast_attn": false,
"randn_source": "GPU",
"tiling": false,
"hires_fix_refiner_pass": "second pass",
"sdxl_crop_top": 0,
"sdxl_crop_left": 0,
"sdxl_refiner_low_aesthetic_score": 2.5,
"sdxl_refiner_high_aesthetic_score": 6.0,
"sd_vae_explanation": "VAE is a neural network that transforms a standard RGB\nimage into latent space representation and back. Latent space representation is what stable diffusion is working on during sampling\n(i.e. when the progress bar is between empty and full). For txt2img, VAE is used to create a resulting image after the sampling is finished.\nFor img2img, VAE is used to process user's input image before the sampling, and to create an image after sampling.",
"sd_vae_checkpoint_cache": 0,
"sd_vae": "Automatic",
"sd_vae_overrides_per_model_preferences": true,
"auto_vae_precision": true,
"sd_vae_encode_method": "Full",
"sd_vae_decode_method": "Full",
"inpainting_mask_weight": 1.0,
"initial_noise_multiplier": 1.0,
"img2img_extra_noise": 0.0,
"img2img_color_correction": false,
"img2img_fix_steps": false,
"img2img_background_color": "#ffffff",
"img2img_editor_height": 720,
"img2img_sketch_default_brush_color": "#ffffff",
"img2img_inpaint_mask_brush_color": "#ffffff",
"img2img_inpaint_sketch_default_brush_color": "#ffffff",
"return_mask": false,
"return_mask_composite": false,
"cross_attention_optimization": "Automatic",
"s_min_uncond": 0.0,
"token_merging_ratio": 0.0,
"token_merging_ratio_img2img": 0.0,
"token_merging_ratio_hr": 0.0,
"pad_cond_uncond": true,
"persistent_cond_cache": true,
"batch_cond_uncond": true,
"use_old_emphasis_implementation": false,
"use_old_karras_scheduler_sigmas": false,
"no_dpmpp_sde_batch_determinism": false,
"use_old_hires_fix_width_height": false,
"dont_fix_second_order_samplers_schedule": false,
"hires_fix_use_firstpass_conds": false,
"use_old_scheduling": false,
"interrogate_keep_models_in_memory": false,
"interrogate_return_ranks": false,
"interrogate_clip_num_beams": 1,
"interrogate_clip_min_length": 24,
"interrogate_clip_max_length": 48,
"interrogate_clip_dict_limit": 1500,
"interrogate_clip_skip_categories": [],
"interrogate_deepbooru_score_threshold": 0.5,
"deepbooru_sort_alpha": true,
"deepbooru_use_spaces": true,
"deepbooru_escape": true,
"deepbooru_filter_tags": "",
"extra_networks_show_hidden_directories": true,
"extra_networks_hidden_models": "When searched",
"extra_networks_default_multiplier": 1.0,
"extra_networks_card_width": 0,
"extra_networks_card_height": 0,
"extra_networks_card_text_scale": 1.0,
"extra_networks_card_show_desc": true,
"extra_networks_add_text_separator": " ",
"ui_extra_networks_tab_reorder": "",
"textual_inversion_print_at_load": false,
"textual_inversion_add_hashes_to_infotext": true,
"sd_hypernetwork": "None",
"localization": "None",
"gradio_theme": "Franklisi/darkmode",
"gradio_themes_cache": true,
"gallery_height": "",
"return_grid": true,
"do_not_show_images": false,
"send_seed": true,
"send_size": true,
"js_modal_lightbox": true,
"js_modal_lightbox_initially_zoomed": true,
"js_modal_lightbox_gamepad": false,
"js_modal_lightbox_gamepad_repeat": 250,
"show_progress_in_title": true,
"samplers_in_dropdown": true,
"dimensions_and_batch_together": true,
"keyedit_precision_attention": 0.1,
"keyedit_precision_extra": 0.05,
"keyedit_delimiters": ".,\/!?%^*;:{}=`~()",
"keyedit_move": true,
"quicksettings_list": [
"sd_model_checkpoint",
"sd_vae",
"CLIP_stop_at_last_layers"
],
"ui_tab_order": [],
"hidden_tabs": [],
"ui_reorder_list": [],
"hires_fix_show_sampler": true,
"hires_fix_show_prompts": false,
"disable_token_counters": false,
"add_model_hash_to_info": true,
"add_model_name_to_info": true,
"add_user_name_to_info": false,
"add_version_to_infotext": true,
"disable_weights_auto_swap": true,
"infotext_styles": "Apply if any",
"show_progressbar": true,
"live_previews_enable": true,
"live_previews_image_format": "png",
"show_progress_grid": true,
"show_progress_every_n_steps": 2,
"show_progress_type": "Approx NN",
"live_preview_allow_lowvram_full": false,
"live_preview_content": "Prompt",
"live_preview_refresh_period": 1000,
"live_preview_fast_interrupt": false,
"hide_samplers": [],
"eta_ddim": 0.0,
"eta_ancestral": 1.0,
"ddim_discretize": "uniform",
"s_churn": 0.0,
"s_tmin": 0.0,
"s_tmax": 0.0,
"s_noise": 1.0,
"k_sched_type": "Automatic",
"sigma_min": 0.0,
"sigma_max": 0.0,
"rho": 0.0,
"eta_noise_seed_delta": 0,
"always_discard_next_to_last_sigma": false,
"sgm_noise_multiplier": false,
"uni_pc_variant": "bh1",
"uni_pc_skip_type": "time_uniform",
"uni_pc_order": 3,
"uni_pc_lower_order_final": true,
"postprocessing_enable_in_main_ui": [],
"postprocessing_operation_order": [],
"upscaling_max_images_in_cache": 5,
"disabled_extensions": [],
"disable_all_extensions": "none",
"restore_config_state_file": "",
"sd_checkpoint_hash": "15012c538f503ce2ebfc2c8547b268c75ccdaff7a281db55399940ff1d70e21d",
"ldsr_steps": 100,
"ldsr_cached": false,
"SCUNET_tile": 256,
"SCUNET_tile_overlap": 8,
"SWIN_tile": 192,
"SWIN_tile_overlap": 8,
"lora_functional": false,
"sd_lora": "None",
"lora_preferred_name": "Alias from file",
"lora_add_hashes_to_infotext": true,
"lora_show_all": false,
"lora_hide_unknown_for_versions": [],
"lora_in_memory_limit": 0,
"extra_options_txt2img": [],
"extra_options_img2img": [],
"extra_options_cols": 1,
"extra_options_accordion": false,
"canvas_hotkey_zoom": "Alt",
"canvas_hotkey_adjust": "Ctrl",
"canvas_hotkey_move": "F",
"canvas_hotkey_fullscreen": "S",
"canvas_hotkey_reset": "R",
"canvas_hotkey_overlap": "O",
"canvas_show_tooltip": true,
"canvas_auto_expand": true,
"canvas_blur_prompt": false,
"canvas_disabled_functions": [
"Overlap"
],
"ad_max_models": 2,
"ad_save_previews": false,
"ad_save_images_before": false,
"ad_only_seleted_scripts": true,
"ad_script_names": "dynamic_prompting,dynamic_thresholding,wildcard_recursive,wildcards,lora_block_weight",
"ad_bbox_sortby": "None",
"deforum_keep_3d_models_in_vram": false,
"deforum_enable_persistent_settings": false,
"deforum_persistent_settings_path": "models/Deforum/deforum_persistent_settings.txt",
"deforum_ffmpeg_location": "C:\StableDiffusion\stable-diffusion-webui\venv\lib\site-packages\imageio_ffmpeg\binaries\ffmpeg-win64-v4.2.2.exe",
"deforum_ffmpeg_crf": 17,
"deforum_ffmpeg_preset": "slow",
"deforum_debug_mode_enabled": false,
"deforum_save_gen_info_as_srt": false,
"deforum_embed_srt": false,
"deforum_save_gen_info_as_srt_params": [
"Noise Schedule"
],
"deforum_preview": "Off",
"deforum_preview_interval_frames": 100,
"infzoom_outpath": "outputs",
"infzoom_outSUBpath": "infinite-zooms",
"infzoom_outsizeW": 512,
"infzoom_outsizeH": 512,
"infzoom_ffprobepath": "",
"infzoom_defPrompt": "{\n\t"prePrompt": "Huge spectacular Waterfall in ",\n\t"prompts": {\n\t\t"data": [\n\t\t\t[0, "a dense tropical forest"],\n\t\t\t[2, "a Lush jungle"],\n\t\t\t[3, "a Thick rainforest"],\n\t\t\t[5, "a Verdant canopy"]\n\t\t]\n\t},\n\t"postPrompt": "epic perspective,(vegetation overgrowth:1.3)(intricate, ornamentation:1.1),(baroque:1.1), fantasy, (realistic:1) digital painting , (magical,mystical:1.2) , (wide angle shot:1.4), (landscape composed:1.2)(medieval:1.1),(tropical forest:1.4),(river:1.3) volumetric lighting ,epic, style by Alex Horley Wenjun Lin greg rutkowski Ruan Jia (Wayne Barlowe:1.2)",\n\t"negPrompt": "frames, border, edges, borderline, text, character, duplicate, error, out of frame, watermark, low quality, ugly, deformed, blur, bad-artist"\n}",
"infzoom_collectAllResources": false,
"animatediff_model_path": "C:\StableDiffusion\stable-diffusion-webui\extensions\sd-webui-animatediff\model",
"animatediff_optimize_gif_palette": false,
"animatediff_optimize_gif_gifsicle": false,
"animatediff_webp_quality": 80,
"animatediff_webp_lossless": false,
"animatediff_save_to_custom": false,
"animatediff_xformers": "Optimize attention layers with xformers",
"control_net_detectedmap_dir": "detected_maps",
"control_net_models_path": "",
"control_net_modules_path": "",
"control_net_unit_count": 3,
"control_net_model_cache_size": 1,
"control_net_inpaint_blur_sigma": 7,
"control_net_no_high_res_fix": false,
"control_net_no_detectmap": false,
"control_net_detectmap_autosaving": false,
"control_net_allow_script_control": false,
"control_net_sync_field_args": true,
"controlnet_show_batch_images_in_ui": false,
"controlnet_increment_seed_during_batch": false,
"controlnet_disable_control_type": false,
"controlnet_disable_openpose_edit": false,
"controlnet_ignore_noninpaint_mask": false,
"tac_tagFile": "danbooru.csv",
"tac_active": true,
"tac_activeIn.txt2img": true,
"tac_activeIn.img2img": true,
"tac_activeIn.negativePrompts": true,
"tac_activeIn.thirdParty": true,
"tac_activeIn.modelList": "",
"tac_activeIn.modelListMode": "Blacklist",
"tac_slidingPopup": true,
"tac_maxResults": 5.0,
"tac_showAllResults": false,
"tac_resultStepLength": 100.0,
"tac_delayTime": 100.0,
"tac_useWildcards": true,
"tac_sortWildcardResults": true,
"tac_useEmbeddings": true,
"tac_includeEmbeddingsInNormalResults": false,
"tac_useHypernetworks": true,
"tac_useLoras": true,
"tac_useLycos": true,
"tac_showWikiLinks": false,
"tac_showExtraNetworkPreviews": true,
"tac_modelSortOrder": "Name",
"tac_replaceUnderscores": true,
"tac_escapeParentheses": true,
"tac_appendComma": true,
"tac_appendSpace": true,
"tac_alwaysSpaceAtEnd": true,
"tac_modelKeywordCompletion": "Never",
"tac_modelKeywordLocation": "Start of prompt",
"tac_wildcardCompletionMode": "To next folder level",
"tac_alias.searchByAlias": true,
"tac_alias.onlyShowAlias": false,
"tac_translation.translationFile": "None",
"tac_translation.oldFormat": false,
"tac_translation.searchByTranslation": true,
"tac_translation.liveTranslation": false,
"tac_extra.extraFile": "extra-quality-tags.csv",
"tac_extra.addMode": "Insert before",
"tac_chantFile": "demo-chants.json",
"tac_keymap": "{\n "MoveUp": "ArrowUp",\n "MoveDown": "ArrowDown",\n "JumpUp": "PageUp",\n "JumpDown": "PageDown",\n "JumpToStart": "Home",\n "JumpToEnd": "End",\n "ChooseSelected": "Enter",\n "ChooseFirstOrSelected": "Tab",\n "Close": "Escape"\n}",
"tac_colormap": "{\n "danbooru": {\n "-1": ["red", "maroon"],\n "0": ["lightblue", "dodgerblue"],\n "1": ["indianred", "firebrick"],\n "3": ["violet", "darkorchid"],\n "4": ["lightgreen", "darkgreen"],\n "5": ["orange", "darkorange"]\n },\n "e621": {\n "-1": ["red", "maroon"],\n "0": ["lightblue", "dodgerblue"],\n "1": ["gold", "goldenrod"],\n "3": ["violet", "darkorchid"],\n "4": ["lightgreen", "darkgreen"],\n "5": ["tomato", "darksalmon"],\n "6": ["red", "maroon"],\n "7": ["whitesmoke", "black"],\n "8": ["seagreen", "darkseagreen"]\n }\n}",
"tac_refreshTempFiles": "Refresh TAC temp files",
"ad_extra_models_dir": "",
"ad_same_seed_for_each_tap": false,
"arh_javascript_aspect_ratio_show": true,
"arh_javascript_aspect_ratio": "1:1, 3:2, 4:3, 5:4, 16:9",
"arh_ui_javascript_selection_method": "Aspect Ratios Dropdown",
"arh_hide_accordion_by_default": true,
"arh_expand_by_default": false,
"arh_ui_component_order_key": "MaxDimensionScaler, MinDimensionScaler, PredefinedAspectRatioButtons, PredefinedPercentageButtons",
"arh_show_max_width_or_height": false,
"arh_max_width_or_height": 1024,
"arh_show_min_width_or_height": false,
"arh_min_width_or_height": 1024,
"arh_show_predefined_aspect_ratios": false,
"arh_predefined_aspect_ratio_use_max_dim": false,
"arh_predefined_aspect_ratios": "1:1, 4:3, 16:9, 9:16, 21:9",
"arh_show_predefined_percentages": false,
"arh_predefined_percentages": "25, 50, 75, 125, 150, 175, 200",
"arh_predefined_percentages_display_key": "Incremental/decremental percentage (-50%, +50%)",
"inpaint_anything_save_folder": "inpaint-anything",
"inpaint_anything_sam_oncpu": false,
"inpaint_anything_offline_inpainting": false,
"inpaint_anything_padding_fill": 127,
"inpain_anything_sam_models_dir": ""
},
"Startup": {
"total": 43.56797695159912,
"records": {
"initial startup": 0.001998424530029297,
"prepare environment/checks": 0.011000633239746094,
"prepare environment/git version info": 0.13538861274719238,
"prepare environment/torch GPU test": 8.276756525039673,
"prepare environment/clone repositores": 0.2534763813018799,
"prepare environment/run extensions installers/a1111-sd-webui-tagcomplete": 0.0009989738464355469,
"prepare environment/run extensions installers/adetailer": 0.26014280319213867,
"prepare environment/run extensions installers/deforum-for-automatic1111-webui": 0.10999393463134766,
"prepare environment/run extensions installers/infinite-zoom-automatic1111-webui": 0.0970001220703125,
"prepare environment/run extensions installers/sd-webui-animatediff": 0.0,
"prepare environment/run extensions installers/sd-webui-aspect-ratio-helper": 0.0010466575622558594,
"prepare environment/run extensions installers/sd-webui-controlnet": 0.5772805213928223,
"prepare environment/run extensions installers/sd-webui-inpaint-anything": 0.10909605026245117,
"prepare environment/run extensions installers/stable-diffusion-webui-pixelization": 0.14386320114135742,
"prepare environment/run extensions installers/stable-diffusion-webui-rembg": 0.09933996200561523,
"prepare environment/run extensions installers/ultimate-upscale-for-automatic1111": 0.0009992122650146484,
"prepare environment/run extensions installers": 1.399761438369751,
"prepare environment": 10.214467525482178,
"launcher": 0.008341789245605469,
"import torch": 8.313526630401611,
"import gradio": 3.1904008388519287,
"setup paths": 3.5320205688476562,
"import ldm": 0.019066810607910156,
"import sgm": 0.0,
"initialize shared": 0.43523216247558594,
"other imports": 2.487497091293335,
"opts onchange": 0.001649618148803711,
"setup SD model": 0.00459599494934082,
"setup codeformer": 0.5363285541534424,
"setup gfpgan": 0.09701752662658691,
"set samplers": 0.0,
"list extensions": 0.0010001659393310547,
"restore config state file": 0.0,
"list SD models": 0.08704805374145508,
"list localizations": 0.0009984970092773438,
"load scripts/custom_code.py": 0.021011829376220703,
"load scripts/img2imgalt.py": 0.002001523971557617,
"load scripts/loopback.py": 0.0014986991882324219,
"load scripts/outpainting_mk_2.py": 0.0014989376068115234,
"load scripts/poor_mans_outpainting.py": 0.0020012855529785156,
"load scripts/postprocessing_codeformer.py": 0.0020003318786621094,
"load scripts/postprocessing_gfpgan.py": 0.0014994144439697266,
"load scripts/postprocessing_upscale.py": 0.0020003318786621094,
"load scripts/prompt_matrix.py": 0.0014982223510742188,
"load scripts/prompts_from_file.py": 0.0020012855529785156,
"load scripts/refiner.py": 0.0014994144439697266,
"load scripts/sd_upscale.py": 0.0015003681182861328,
"load scripts/seed.py": 0.001500844955444336,
"load scripts/xyz_grid.py": 0.00299835205078125,
"load scripts/model_keyword_support.py": 0.007999897003173828,
"load scripts/shared_paths.py": 0.0005004405975341797,
"load scripts/tag_autocomplete_helper.py": 1.028832197189331,
"load scripts/!adetailer.py": 0.9870119094848633,
"load scripts/deforum.py": 0.17645812034606934,
"load scripts/deforum_api.py": 0.0005002021789550781,
"load scripts/deforum_api_models.py": 0.0030007362365722656,
"load scripts/deforum_extend_paths.py": 0.0004992485046386719,
"load scripts/infinite-zoom.py": 0.16637492179870605,
"load scripts/animatediff.py": 0.10093498229980469,
"load scripts/animatediff_cn.py": 0.000499725341796875,
"load scripts/animatediff_i2ibatch.py": 0.0,
"load scripts/animatediff_infotext.py": 0.0004999637603759766,
"load scripts/animatediff_infv2v.py": 0.0,
"load scripts/animatediff_latent.py": 0.0004999637603759766,
"load scripts/animatediff_logger.py": 0.0,
"load scripts/animatediff_lora.py": 0.0004999637603759766,
"load scripts/animatediff_mm.py": 0.0,
"load scripts/animatediff_output.py": 0.0005009174346923828,
"load scripts/animatediff_prompt.py": 0.0,
"load scripts/animatediff_ui.py": 0.0005013942718505859,
"load scripts/sd_webui_aspect_ratio_helper.py": 0.10763144493103027,
"load scripts/adapter.py": 0.0035011768341064453,
"load scripts/api.py": 2.200737714767456,
"load scripts/batch_hijack.py": 0.002002716064453125,
"load scripts/cldm.py": 0.003008604049682617,
"load scripts/controlmodel_ipadapter.py": 0.0020024776458740234,
"load scripts/controlnet.py": 0.23751544952392578,
"load scripts/controlnet_diffusers.py": 0.0,
"load scripts/controlnet_lllite.py": 0.0,
"load scripts/controlnet_lora.py": 0.0010097026824951172,
"load scripts/controlnet_model_guess.py": 0.0005052089691162109,
"load scripts/controlnet_version.py": 0.0,
"load scripts/external_code.py": 0.0004994869232177734,
"load scripts/global_state.py": 0.000499725341796875,
"load scripts/hook.py": 0.0004999637603759766,
"load scripts/infotext.py": 0.0,
"load scripts/logging.py": 0.0005011558532714844,
"load scripts/lvminthin.py": 0.0004992485046386719,
"load scripts/movie2movie.py": 0.003000497817993164,
"load scripts/processor.py": 0.0010004043579101562,
"load scripts/utils.py": 0.0,
"load scripts/xyz_grid_support.py": 0.002513885498046875,
"load scripts/inpaint_anything.py": 3.437472343444824,
"load scripts/postprocessing_pixelization.py": 0.01753091812133789,
"load scripts/postprocessing_rembg.py": 0.003542661666870117,
"load scripts/ultimate-upscale.py": 0.0040013790130615234,
"load scripts/ldsr_model.py": 0.046155452728271484,
"load scripts/lora_script.py": 0.28986144065856934,
"load scripts/scunet_model.py": 0.10194134712219238,
"load scripts/swinir_model.py": 0.044602394104003906,
"load scripts/hotkey_config.py": 0.003010272979736328,
"load scripts/extra_options_section.py": 0.0035042762756347656,
"load scripts": 9.038176774978638,
"load upscalers": 0.01453542709350586,
"refresh VAE": 0.004029512405395508,
"refresh textual inversion templates": 0.0004999637603759766,
"scripts list_optimizers": 0.0010001659393310547,
"scripts list_unets": 0.0,
"reload hypernetworks": 0.009028434753417969,
"initialize extra networks": 0.03515315055847168,
"scripts before_ui_callback": 0.0025091171264648438,
"create ui": 1.1070606708526611,
"gradio launch": 4.47158408164978,
"add APIs": 0.08778595924377441,
"app_started_callback/tag_autocomplete_helper.py": 0.0009989738464355469,
"app_started_callback/api.py": 0.0020084381103515625,
"app_started_callback/lora_script.py": 0.0004999637603759766,
"app_started_callback": 0.003507375717163086
}
},
"Packages": [
"absl-py==1.4.0",
"accelerate==0.21.0",
"addict==2.4.0",
"aenum==3.1.15",
"aiofiles==23.2.1",
"aiohttp==3.8.5",
"aiosignal==1.3.1",
"altair==5.1.1",
"antlr4-python3-runtime==4.9.3",
"anyio==3.7.1",
"async-timeout==4.0.3",
"attrs==23.1.0",
"av==10.0.0",
"basicsr==1.4.2",
"beautifulsoup4==4.12.2",
"bidict==0.22.1",
"blendmodes==2022",
"boltons==23.0.0",
"cachetools==5.3.1",
"certifi==2023.7.22",
"cffi==1.15.1",
"charset-normalizer==3.2.0",
"clean-fid==0.1.35",
"click==8.1.7",
"clip==1.0",
"colorama==0.4.6",
"coloredlogs==15.0.1",
"contourpy==1.1.0",
"controlnet-aux==0.0.3",
"cssselect2==0.7.0",
"cycler==0.11.0",
"deprecation==2.1.0",
"diffusers==0.16.1",
"einops==0.4.1",
"exceptiongroup==1.1.3",
"facexlib==0.3.0",
"fastapi==0.94.0",
"ffmpy==0.3.1",
"filelock==3.12.3",
"filterpy==1.4.5",
"flask-cors==4.0.0",
"flask-socketio==5.3.6",
"flask==2.2.3",
"flaskwebgui==0.3.5",
"flatbuffers==23.5.26",
"fonttools==4.42.1",
"frozenlist==1.4.0",
"fsspec==2023.9.0",
"ftfy==6.1.1",
"future==0.18.3",
"fvcore==0.1.5.post20221221",
"gdown==4.7.1",
"gfpgan==1.3.8",
"gitdb==4.0.10",
"gitpython==3.1.32",
"google-auth-oauthlib==1.0.0",
"google-auth==2.22.0",
"gradio-client==0.5.0",
"gradio==3.41.2",
"grpcio==1.57.0",
"h11==0.12.0",
"httpcore==0.15.0",
"httpx==0.24.1",
"huggingface-hub==0.16.4",
"humanfriendly==10.0",
"idna==3.4",
"imageio-ffmpeg==0.4.9",
"imageio==2.31.2",
"importlib-metadata==6.8.0",
"importlib-resources==6.0.1",
"inflection==0.5.1",
"iopath==0.1.9",
"itsdangerous==2.1.2",
"jinja2==3.1.2",
"jsonmerge==1.8.0",
"jsonschema-specifications==2023.7.1",
"jsonschema==4.19.0",
"kiwisolver==1.4.5",
"kornia==0.6.7",
"lama-cleaner==1.2.5",
"lark==1.1.2",
"lazy-loader==0.3",
"lightning-utilities==0.9.0",
"llvmlite==0.40.1",
"lmdb==1.4.1",
"loguru==0.7.2",
"lpips==0.1.4",
"lxml==4.9.3",
"markdown-it-py==3.0.0",
"markdown==3.4.4",
"markupsafe==2.1.3",
"matplotlib==3.7.2",
"mdurl==0.1.2",
"mediapipe==0.10.7",
"mpmath==1.3.0",
"multidict==6.0.4",
"networkx==3.1",
"numba==0.57.1",
"numexpr==2.8.6",
"numpy==1.23.5",
"oauthlib==3.2.2",
"omegaconf==2.2.3",
"onnxruntime==1.16.1",
"open-clip-torch==2.20.0",
"opencv-contrib-python==4.8.0.76",
"opencv-python==4.8.0.76",
"orjson==3.9.5",
"packaging==23.1",
"pandas==2.1.0",
"piexif==1.1.3",
"pillow==9.5.0",
"pims==0.6.0",
"pip==22.2.1",
"platformdirs==3.10.0",
"pooch==1.8.0",
"portalocker==2.7.0",
"protobuf==3.20.0",
"psutil==5.9.5",
"py-cpuinfo==9.0.0",
"pyasn1-modules==0.3.0",
"pyasn1==0.5.0",
"pycparser==2.21",
"pydantic==1.10.12",
"pydub==0.25.1",
"pygments==2.16.1",
"pymatting==1.1.10",
"pyparsing==3.0.9",
"pyreadline3==3.4.1",
"pysocks==1.7.1",
"python-dateutil==2.8.2",
"python-engineio==4.8.0",
"python-multipart==0.0.6",
"python-socketio==5.10.0",
"pytorch-lightning==1.9.4",
"pytz==2023.3",
"pywavelets==1.4.1",
"pywin32==306",
"pyyaml==6.0.1",
"realesrgan==0.3.0",
"referencing==0.30.2",
"regex==2023.8.8",
"rembg==2.0.38",
"reportlab==4.0.4",
"requests-oauthlib==1.3.1",
"requests==2.31.0",
"resize-right==0.0.2",
"rich==13.5.3",
"rpds-py==0.10.0",
"rsa==4.9",
"safetensors==0.3.1",
"scikit-image==0.21.0",
"scipy==1.11.2",
"seaborn==0.12.2",
"segment-anything==1.0",
"semantic-version==2.10.0",
"sentencepiece==0.1.99",
"setuptools==63.2.0",
"simple-websocket==1.0.0",
"six==1.16.0",
"slicerator==1.1.0",
"smmap==5.0.0",
"sniffio==1.3.0",
"sounddevice==0.4.6",
"soupsieve==2.5",
"starlette==0.26.1",
"svglib==1.5.1",
"sympy==1.12",
"tabulate==0.9.0",
"tb-nightly==2.15.0a20230902",
"tensorboard-data-server==0.7.1",
"termcolor==2.3.0",
"thop==0.1.1.post2209072238",
"tifffile==2023.8.30",
"timm==0.9.2",
"tinycss2==1.2.1",
"tokenizers==0.13.3",
"tomesd==0.1.3",
"tomli==2.0.1",
"toolz==0.12.0",
"torch==2.0.1+cu118",
"torchdiffeq==0.2.3",
"torchmetrics==1.1.1",
"torchsde==0.2.5",
"torchvision==0.15.2+cu118",
"tqdm==4.66.1",
"trampoline==0.1.2",
"transformers==4.30.2",
"typing-extensions==4.7.1",
"tzdata==2023.3",
"ultralytics==8.0.199",
"urllib3==1.26.16",
"uvicorn==0.23.2",
"wcwidth==0.2.6",
"webencodings==0.5.1",
"websockets==11.0.3",
"werkzeug==2.2.2",
"wheel==0.41.2",
"whichcraft==0.6.1",
"win32-setctime==1.1.0",
"wsproto==1.2.0",
"xformers==0.0.20",
"yacs==0.1.8",
"yapf==0.40.1",
"yarl==1.9.2",
"zipp==3.16.2"
]
}

What browsers do you use to access the UI ?

No response

Console logs

` File "C:\StableDiffusion\stable-diffusion-webui\venv\lib\site-packages\gradio\routes.py", line 488, in run_predict
    output = await app.get_blocks().process_api(
  File "C:\StableDiffusion\stable-diffusion-webui\venv\lib\site-packages\gradio\blocks.py", line 1431, in process_api
    result = await self.call_function(
  File "C:\StableDiffusion\stable-diffusion-webui\venv\lib\site-packages\gradio\blocks.py", line 1103, in call_function
    prediction = await anyio.to_thread.run_sync(
  File "C:\StableDiffusion\stable-diffusion-webui\venv\lib\site-packages\anyio\to_thread.py", line 33, in run_sync
    return await get_asynclib().run_sync_in_worker_thread(
  File "C:\StableDiffusion\stable-diffusion-webui\venv\lib\site-packages\anyio\_backends\_asyncio.py", line 877, in run_sync_in_worker_thread
    return await future
  File "C:\StableDiffusion\stable-diffusion-webui\venv\lib\site-packages\anyio\_backends\_asyncio.py", line 807, in run
    result = context.run(func, *args)
  File "C:\StableDiffusion\stable-diffusion-webui\venv\lib\site-packages\gradio\utils.py", line 707, in wrapper
    response = f(*args, **kwargs)
  File "C:\StableDiffusion\stable-diffusion-webui\modules\generation_parameters_copypaste.py", line 372, in paste_func
    params = parse_generation_parameters(prompt)
  File "C:\StableDiffusion\stable-diffusion-webui\modules\generation_parameters_copypaste.py", line 244, in parse_generation_parameters
    found_styles, prompt, negative_prompt = shared.prompt_styles.extract_styles_from_prompt(prompt, negative_prompt)
  File "C:\StableDiffusion\stable-diffusion-webui\modules\styles.py", line 123, in extract_styles_from_prompt
    is_match, new_prompt, new_neg_prompt = extract_style_from_prompts(style, prompt, negative_prompt)
  File "C:\StableDiffusion\stable-diffusion-webui\modules\styles.py", line 59, in extract_style_from_prompts
    match_positive, extracted_positive = extract_style_text_from_prompt(style.prompt, prompt)
  File "C:\StableDiffusion\stable-diffusion-webui\modules\styles.py", line 39, in extract_style_text_from_prompt
    left, right = stripped_style_text.split("{prompt}", 2)
ValueError: too many values to unpack (expected 2)`

Additional information

No response

@talgreen1 talgreen1 added the bug-report Report of a bug, yet to be confirmed label Nov 17, 2023
MisterSeajay pushed a commit to MisterSeajay/stable-diffusion-webui that referenced this issue Nov 27, 2023
* AUTOMATIC1111#14122
Fix edge case where style text has multiple {prompt} placeholders
* AUTOMATIC1111#14005
martianunlimited added a commit to martianunlimited/stable-diffusion-webui-ux that referenced this issue Jan 25, 2024
* added option to play notification sound or not

* Convert (emphasis) to (emphasis:1.1)

per @SirVeggie's suggestion

* Make attention conversion optional

Fix square brackets multiplier

* put notification.mp3 option at the end of the page

* more general case of adding an infotext when no images have been generated

* use shallow copy for AUTOMATIC1111#13535

* remove duplicated code

* support webui.settings.bat

* Start / Restart generation by Ctrl (Alt) + Enter

Add ability to interrupt current generation and start generation again by Ctrl (Alt) + Enter

* add an option to not print stack traces on ctrl+c.

* repair unload sd checkpoint button

* respect keyedit_precision_attention setting when converting from old (((attention))) syntax

* Update script.js

Exclude lambda

* Update script.js

LF instead CRLF

* Update script.js

* Add files via upload

LF

* wip incorrect OFT implementation

* inference working but SLOW

* faster by using cached R in forward

* faster by calculating R in updown and using cached R in forward

* refactor: fix constraint, re-use get_weight

* style: formatting

* style: fix ambiguous variable name

* rework some of changes for emphasis editing keys, force conversion of old-style emphasis

* fix the situation with emphasis editing (aaaa:1.1) bbbb (cccc:1.1)

* fix bug when using --gfpgan-models-path

* fix Blank line contains whitespace

* refactor: use forward hook instead of custom forward

* fix: return orig weights during updown, merge weights before forward

* fix: support multiplier, no forward pass hook

* style: cleanup oft

* fix: use merge_weight to cache value

* refactor: remove used OFT functions

* fix: multiplier applied twice in finalize_updown

* style: conform style

* Update prompts_from_file script to allow concatenating entries with the general prompt.

* linting issue

* call state.jobnext() before postproces*()

* Fix AUTOMATIC1111#13796

Fix comment error that makes understanding scheduling more confusing.

* test implementation based on kohaku diag-oft implementation

* detect diag_oft type

* no idea what i'm doing, trying to support both type of OFT, kblueleaf diag_oft has MultiheadAttn which kohya's doesn't?, attempt create new module based off network_lora.py, errors about tensor dim mismatch

* added accordion settings options

* Fix parenthesis auto selection

Fixes AUTOMATIC1111#13813

* Update requirements_versions.txt

* skip multihead attn for now

* refactor: move factorization to lyco_helpers, separate calc_updown for kohya and kb

* refactor: use same updown for both kohya OFT and LyCORIS diag-oft

* refactor: remove unused function

* correct a typo

modify "defaul" to "default"

* add a visible checkbox to input accordion

* eslint

* properly apply sort order for extra network cards when selected from dropdown
allow selection of default sort order in settings
remove 'Default' sort order, replace with 'Name'

* Add SSD-1B as a supported model

* Added memory clearance after deletion

* Use devices.torch_gc() instead of empty_cache()

* added compact prompt option

* compact prompt option disabled by default

* linter

* more changes for AUTOMATIC1111#13865: fix formatting, rename the function, add comment and add a readme entry

* fix img2img_tabs error

* fix exception related to the pix2pix

* Add option to set notification sound volume

* fix pix2pix producing bad results

* moved nested with to single line to remove extra tabs

* removed changes that weren't merged properly

* multiline with statement for readibility

* Update README.md

Modify the stablediffusion dependency address

* Update README.md

Modify the stablediffusion dependency address

* - opensuse compatibility

* Enable prompt hotkeys in style editor

* Compatibility with Debian 11, Fedora 34+ and openSUSE 15.4+

* fix added accordion settings options

* ExitStack as alternative to suppress

* implementing script metadata and DAG sorting mechanism

* populate loaded_extensions from extension list instead

* reverse the extension load order so builtin extensions load earlier natively

* add hyperTile

https://github.com/tfernd/HyperTile

* remove the assumption of same name

* allow comma and whitespace as separator

* fix

* bug fix

* dir buttons start with / so only the correct dir will be shown and not dirs with a substrings as name from the dir

* Lint

* Fixes generation restart not working for some users when 'Ctrl+Enter' is pressed

* Adds 'Path' sorting for Extra network cards

* fix gradio video component and canvas fit for inpaint

* hotfix: call shared.state.end() after postprocessing done

* Implement Hypertile

Co-Authored-By: Kieran Hunt <[email protected]>

* copy LDM VAE key from XL

* fix: ignore calc_scale() for COFT which has very small alpha

* feat: LyCORIS/kohya OFT network support

* convert/add hypertile options

* fix ruff - add newline

* Adds tqdm handler to logging_config.py for progress bar integration

* Take into account tqdm not being installed before first boot for logging

* actually adds handler to logging_config.py

* Fix critical issue - unet apply

* Fix inverted option issue

I'm pretty sure I was sleepy while implementing this

* set empty value for SD XL 3rd layer

* fix double gc and decoding with unet context

* feat: fix randn found element of type float at pos 2

Signed-off-by: storyicon <[email protected]>

* use metadata.ini for meta filename

* Option to show batch img2img results in UI

shared.opts.img2img_batch_show_results_limit
limit the number of images return to the UI for batch img2img
default limit 32
0 no images are shown
-1 unlimited, all images are shown

* save sysinfo as .json

GitHub now allows uploading of .json files in issues

* rework extensions metadata: use custom sorter that doesn't mess the order as much and ignores cyclic errors, use classes with named fields instead of dictionaries, eliminate some duplicated code

* added option for default behavior of dir buttons

* Add FP32 fallback support on sd_vae_approx

This tries to execute interpolate with FP32 if it failed.

Background is that
on some environment such as Mx chip MacOS devices, we get error as follows:

```
"torch/nn/functional.py", line 3931, in interpolate
        return torch._C._nn.upsample_nearest2d(input, output_size, scale_factors)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    RuntimeError: "upsample_nearest2d_channels_last" not implemented for 'Half'
```

In this case, ```--no-half``` doesn't help to solve. Therefore this commits add the FP32 fallback execution to solve it.

Note that the submodule may require additional modifications. The following is the example modification on the other submodule.

```repositories/stable-diffusion-stability-ai/ldm/modules/diffusionmodules/openaimodel.py

class Upsample(nn.Module):
..snip..
    def forward(self, x):
        assert x.shape[1] == self.channels
        if self.dims == 3:
            x = F.interpolate(
                x, (x.shape[2], x.shape[3] * 2, x.shape[4] * 2), mode="nearest"
            )
        else:
            try:
                x = F.interpolate(x, scale_factor=2, mode="nearest")
            except:
                x = F.interpolate(x.to(th.float32), scale_factor=2, mode="nearest").to(x.dtype)
        if self.use_conv:
            x = self.conv(x)
        return x
..snip..
```

You can see the FP32 fallback execution as same as sd_vae_approx.py.

* fix  [Bug]: (Dev Branch) Placing "Dimensions" first in "ui_reorder_list" prevents start AUTOMATIC1111#14047

* Update ruff to 0.1.6

* Simplify restart_sampler (suggested by ruff)

* use extension name for determining an extension is installed in the index

* Move exception_records related methods to errors.py

* remove traceback in sysinfo

* move file

* rework hypertile into a built-in extension

* do not save HTML explanations from options page to config

* fix linter errors

* compact prompt layout: preserve scroll when switching between lora tabs

* json.dump(ensure_ascii=False)

improve json readability

* add categories to settings

* also consider extension url

* add Block component creation callback

* catch uncaught exception with ui creation scripts

prevent total webui crash

* Allow use of mutiple styles csv files

* bugfix for warning message (#6)

* bugfix for warning message (#6)

* bugfix for warning message

* bugfix error message

* Allow use of mutiple styles csv files
* AUTOMATIC1111#14122
Fix edge case where style text has multiple {prompt} placeholders
* AUTOMATIC1111#14005

* Support XYZ scripts / split hires path from unet

* cache divisors / fix ruff

* fix ruff in hypertile_xyz.py

* fix ruff - set comprehension

* hypertile_xyz: we don't need isnumeric check for AxisOption

* Update devices.py

fixes issue where "--use-cpu" all properly makes SD run on CPU but leaves ControlNet (and other extensions, I presume) pointed at GPU, causing a crash in ControlNet caused by a mismatch between devices between SD and CN

AUTOMATIC1111#14097

* fix Auto focal point crop for opencv >= 4.8.x

autocrop.download_and_cache_models
in opencv >= 4.8 the face detection model was updated
download the base on opencv version
returns the model path or raise exception

* reformat file with uniform indentation

* Revert "Add FP32 fallback support on sd_vae_approx"

This reverts commit 58c1954.
Since the modification is expected to move to mac_specific.py
(AUTOMATIC1111#14046 (comment))

* Add FP32 fallback support on torch.nn.functional.interpolate

This tries to execute interpolate with FP32 if it failed.

Background is that
on some environment such as Mx chip MacOS devices, we get error as follows:

```
"torch/nn/functional.py", line 3931, in interpolate
        return torch._C._nn.upsample_nearest2d(input, output_size, scale_factors)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    RuntimeError: "upsample_nearest2d_channels_last" not implemented for 'Half'
```

In this case, ```--no-half``` doesn't help to solve. Therefore this commits add the FP32 fallback execution to solve it.

Note that the ```upsample_nearest2d``` is called from ```torch.nn.functional.interpolate```.
And the fallback for torch.nn.functional.interpolate is necessary at
```modules/sd_vae_approx.py``` 's ```VAEApprox.forward```
```repositories/stable-diffusion-stability-ai/ldm/modules/diffusionmodules/openaimodel.py``` 's ```Upsample.forward```

* Fix the Ruff error about unused import

* Initial IPEX support

* add max-heigh/width to global-popup-inner

prevent the pop-up from being too big as to making exiting the pop-up impossible

* Close popups with escape key

* Fix bug where is_using_v_parameterization_for_sd2 fails because the sd_hijack is only partially undone

* Add support for SD 2.1 Turbo, by converting the state dict from SGM to LDM on load

* infotext updates: add option to disregard certain infotext fields, add option to not include VAE in infotext, add explanation to infotext settings page, move some options to infotext settings page

* Disable ipex autocast due to its bad perf

* split UI settings page into many

* put code that can cause an exception into its own function for AUTOMATIC1111#14120

* Fix fp64

* extras tab batch: actually use original filename
preprocessing upscale: do not do an extra upscale step if it's not needed

* Remove webui-ipex-user.bat

* remove Train/Preprocessing tab and put all its functionality into extras batch images mode

* potential fix for AUTOMATIC1111#14172

* alternate implementation for unet forward replacement that does not depend on hijack being applied

* Fix `save_samples` being checked early when saving masked composite

* Re-add setting lost as part of e294e46

* rework mask and mask_composite logic

* Add import_hook hack to work around basicsr incompatibility

Fixes AUTOMATIC1111#13985

* Update launch_utils.py to fix wrong dep. checks and reinstalls

Fixes failing dependency checks for extensions having a different package name and import name (for example ffmpeg-python / ffmpeg), which currently is causing the unneeded reinstall of packages at runtime.

In fact with current code, the same string is used when installing a package and when checking for its presence, as you can see in the following example:

> launch_utils.run_pip("install ffmpeg-python", "required package")
[ Installing required package: "ffmpeg-python" ... ]
[ Installed ]

> launch_utils.is_installed("ffmpeg-python")
False

... which would actually return true with:

> launch_utils.is_installed("ffmpeg")
True

* Lint

* make webui not crash when running with --disable-all-extensions option

* update changelog

* repair old handler for postprocessing API

* repair old handler for postprocessing API in a way that doesn't break interface

* add hypertile infotext

* Merge pull request AUTOMATIC1111#14203 from AUTOMATIC1111/remove-clean_text()

remove clean_text()

* fix Inpaint Image Appears Behind Some UI Elements anapnoe#206

* fix side panel show/hide button hot zone does not use the entire width anapnoe#204

* Merge pull request AUTOMATIC1111#14300 from AUTOMATIC1111/oft_fixes

Fix wrong implementation in network_oft

* Merge pull request AUTOMATIC1111#14296 from akx/paste-resolution

Allow pasting in WIDTHxHEIGHT strings into the width/height fields

* Merge pull request AUTOMATIC1111#14270 from kaalibro/extra-options-elem-id

Assign id for "extra_options". Replace numeric field with slider.

* Merge pull request AUTOMATIC1111#14276 from AUTOMATIC1111/fix-styles

Fix styles

* Merge pull request AUTOMATIC1111#14266 from kaalibro/dev

Re-add setting lost as part of e294e46

* Merge pull request AUTOMATIC1111#14229 from Nuullll/ipex-embedding

[IPEX] Fix embedding and ControlNet

* Merge pull request AUTOMATIC1111#14230 from AUTOMATIC1111/add-option-Live-preview-in-full-page-image-viewer

add option: Live preview in full page image viewer

* Merge pull request AUTOMATIC1111#14216 from wfjsw/state-dict-ref-comparison

change state dict comparison to ref compare

* Merge pull request AUTOMATIC1111#14237 from ReneKroon/dev

AUTOMATIC1111#13354 : solve lora loading issue

* Merge pull request AUTOMATIC1111#14307 from AUTOMATIC1111/default-Falst-js_live_preview_in_modal_lightbox

default False js_live_preview_in_modal_lightbox

* update to 1.7 from upstream

* Update README.md

* Update screenshot.png

* Update CITATION.cff

* update to latest version

* update to latest version

---------

Signed-off-by: storyicon <[email protected]>
Co-authored-by: Gleb Alekseev <[email protected]>
Co-authored-by: missionfloyd <[email protected]>
Co-authored-by: AUTOMATIC1111 <[email protected]>
Co-authored-by: Won-Kyu Park <[email protected]>
Co-authored-by: Khachatur Avanesian <[email protected]>
Co-authored-by: v0xie <[email protected]>
Co-authored-by: avantcontra <[email protected]>
Co-authored-by: David Benson <[email protected]>
Co-authored-by: Meerkov <[email protected]>
Co-authored-by: Emily Zeng <[email protected]>
Co-authored-by: w-e-w <[email protected]>
Co-authored-by: gibiee <[email protected]>
Co-authored-by: Ritesh Gangnani <riteshgangnani10>
Co-authored-by: GerryDE <[email protected]>
Co-authored-by: fuchen.ljl <[email protected]>
Co-authored-by: Alessandro de Oliveira Faria (A.K.A. CABELO) <[email protected]>
Co-authored-by: wfjsw <[email protected]>
Co-authored-by: aria1th <[email protected]>
Co-authored-by: Tom Haelbich <[email protected]>
Co-authored-by: kaalibro <[email protected]>
Co-authored-by: anapnoe <[email protected]>
Co-authored-by: AngelBottomless <[email protected]>
Co-authored-by: Kieran Hunt <[email protected]>
Co-authored-by: Lucas Daniel Velazquez M <[email protected]>
Co-authored-by: Your Name <[email protected]>
Co-authored-by: storyicon <[email protected]>
Co-authored-by: Tom Haelbich <[email protected]>
Co-authored-by: hidenorly <[email protected]>
Co-authored-by: Aarni Koskela <[email protected]>
Co-authored-by: Charlie Joynt <[email protected]>
Co-authored-by: obsol <[email protected]>
Co-authored-by: Nuullll <[email protected]>
Co-authored-by: MrCheeze <[email protected]>
Co-authored-by: catboxanon <[email protected]>
Co-authored-by: illtellyoulater <[email protected]>
martianunlimited added a commit to martianunlimited/stable-diffusion-webui-ux that referenced this issue Jan 25, 2024
* added option to play notification sound or not

* Convert (emphasis) to (emphasis:1.1)

per @SirVeggie's suggestion

* Make attention conversion optional

Fix square brackets multiplier

* put notification.mp3 option at the end of the page

* more general case of adding an infotext when no images have been generated

* use shallow copy for AUTOMATIC1111#13535

* remove duplicated code

* support webui.settings.bat

* Start / Restart generation by Ctrl (Alt) + Enter

Add ability to interrupt current generation and start generation again by Ctrl (Alt) + Enter

* add an option to not print stack traces on ctrl+c.

* repair unload sd checkpoint button

* respect keyedit_precision_attention setting when converting from old (((attention))) syntax

* Update script.js

Exclude lambda

* Update script.js

LF instead CRLF

* Update script.js

* Add files via upload

LF

* wip incorrect OFT implementation

* inference working but SLOW

* faster by using cached R in forward

* faster by calculating R in updown and using cached R in forward

* refactor: fix constraint, re-use get_weight

* style: formatting

* style: fix ambiguous variable name

* rework some of changes for emphasis editing keys, force conversion of old-style emphasis

* fix the situation with emphasis editing (aaaa:1.1) bbbb (cccc:1.1)

* fix bug when using --gfpgan-models-path

* fix Blank line contains whitespace

* refactor: use forward hook instead of custom forward

* fix: return orig weights during updown, merge weights before forward

* fix: support multiplier, no forward pass hook

* style: cleanup oft

* fix: use merge_weight to cache value

* refactor: remove used OFT functions

* fix: multiplier applied twice in finalize_updown

* style: conform style

* Update prompts_from_file script to allow concatenating entries with the general prompt.

* linting issue

* call state.jobnext() before postproces*()

* Fix AUTOMATIC1111#13796

Fix comment error that makes understanding scheduling more confusing.

* test implementation based on kohaku diag-oft implementation

* detect diag_oft type

* no idea what i'm doing, trying to support both type of OFT, kblueleaf diag_oft has MultiheadAttn which kohya's doesn't?, attempt create new module based off network_lora.py, errors about tensor dim mismatch

* added accordion settings options

* Fix parenthesis auto selection

Fixes AUTOMATIC1111#13813

* Update requirements_versions.txt

* skip multihead attn for now

* refactor: move factorization to lyco_helpers, separate calc_updown for kohya and kb

* refactor: use same updown for both kohya OFT and LyCORIS diag-oft

* refactor: remove unused function

* correct a typo

modify "defaul" to "default"

* add a visible checkbox to input accordion

* eslint

* properly apply sort order for extra network cards when selected from dropdown
allow selection of default sort order in settings
remove 'Default' sort order, replace with 'Name'

* Add SSD-1B as a supported model

* Added memory clearance after deletion

* Use devices.torch_gc() instead of empty_cache()

* added compact prompt option

* compact prompt option disabled by default

* linter

* more changes for AUTOMATIC1111#13865: fix formatting, rename the function, add comment and add a readme entry

* fix img2img_tabs error

* fix exception related to the pix2pix

* Add option to set notification sound volume

* fix pix2pix producing bad results

* moved nested with to single line to remove extra tabs

* removed changes that weren't merged properly

* multiline with statement for readibility

* Update README.md

Modify the stablediffusion dependency address

* Update README.md

Modify the stablediffusion dependency address

* - opensuse compatibility

* Enable prompt hotkeys in style editor

* Compatibility with Debian 11, Fedora 34+ and openSUSE 15.4+

* fix added accordion settings options

* ExitStack as alternative to suppress

* implementing script metadata and DAG sorting mechanism

* populate loaded_extensions from extension list instead

* reverse the extension load order so builtin extensions load earlier natively

* add hyperTile

https://github.com/tfernd/HyperTile

* remove the assumption of same name

* allow comma and whitespace as separator

* fix

* bug fix

* dir buttons start with / so only the correct dir will be shown and not dirs with a substrings as name from the dir

* Lint

* Fixes generation restart not working for some users when 'Ctrl+Enter' is pressed

* Adds 'Path' sorting for Extra network cards

* fix gradio video component and canvas fit for inpaint

* hotfix: call shared.state.end() after postprocessing done

* Implement Hypertile

Co-Authored-By: Kieran Hunt <[email protected]>

* copy LDM VAE key from XL

* fix: ignore calc_scale() for COFT which has very small alpha

* feat: LyCORIS/kohya OFT network support

* convert/add hypertile options

* fix ruff - add newline

* Adds tqdm handler to logging_config.py for progress bar integration

* Take into account tqdm not being installed before first boot for logging

* actually adds handler to logging_config.py

* Fix critical issue - unet apply

* Fix inverted option issue

I'm pretty sure I was sleepy while implementing this

* set empty value for SD XL 3rd layer

* fix double gc and decoding with unet context

* feat: fix randn found element of type float at pos 2

Signed-off-by: storyicon <[email protected]>

* use metadata.ini for meta filename

* Option to show batch img2img results in UI

shared.opts.img2img_batch_show_results_limit
limit the number of images return to the UI for batch img2img
default limit 32
0 no images are shown
-1 unlimited, all images are shown

* save sysinfo as .json

GitHub now allows uploading of .json files in issues

* rework extensions metadata: use custom sorter that doesn't mess the order as much and ignores cyclic errors, use classes with named fields instead of dictionaries, eliminate some duplicated code

* added option for default behavior of dir buttons

* Add FP32 fallback support on sd_vae_approx

This tries to execute interpolate with FP32 if it failed.

Background is that
on some environment such as Mx chip MacOS devices, we get error as follows:

```
"torch/nn/functional.py", line 3931, in interpolate
        return torch._C._nn.upsample_nearest2d(input, output_size, scale_factors)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    RuntimeError: "upsample_nearest2d_channels_last" not implemented for 'Half'
```

In this case, ```--no-half``` doesn't help to solve. Therefore this commits add the FP32 fallback execution to solve it.

Note that the submodule may require additional modifications. The following is the example modification on the other submodule.

```repositories/stable-diffusion-stability-ai/ldm/modules/diffusionmodules/openaimodel.py

class Upsample(nn.Module):
..snip..
    def forward(self, x):
        assert x.shape[1] == self.channels
        if self.dims == 3:
            x = F.interpolate(
                x, (x.shape[2], x.shape[3] * 2, x.shape[4] * 2), mode="nearest"
            )
        else:
            try:
                x = F.interpolate(x, scale_factor=2, mode="nearest")
            except:
                x = F.interpolate(x.to(th.float32), scale_factor=2, mode="nearest").to(x.dtype)
        if self.use_conv:
            x = self.conv(x)
        return x
..snip..
```

You can see the FP32 fallback execution as same as sd_vae_approx.py.

* fix  [Bug]: (Dev Branch) Placing "Dimensions" first in "ui_reorder_list" prevents start AUTOMATIC1111#14047

* Update ruff to 0.1.6

* Simplify restart_sampler (suggested by ruff)

* use extension name for determining an extension is installed in the index

* Move exception_records related methods to errors.py

* remove traceback in sysinfo

* move file

* rework hypertile into a built-in extension

* do not save HTML explanations from options page to config

* fix linter errors

* compact prompt layout: preserve scroll when switching between lora tabs

* json.dump(ensure_ascii=False)

improve json readability

* add categories to settings

* also consider extension url

* add Block component creation callback

* catch uncaught exception with ui creation scripts

prevent total webui crash

* Allow use of mutiple styles csv files

* bugfix for warning message (#6)

* bugfix for warning message (#6)

* bugfix for warning message

* bugfix error message

* Allow use of mutiple styles csv files
* AUTOMATIC1111#14122
Fix edge case where style text has multiple {prompt} placeholders
* AUTOMATIC1111#14005

* Support XYZ scripts / split hires path from unet

* cache divisors / fix ruff

* fix ruff in hypertile_xyz.py

* fix ruff - set comprehension

* hypertile_xyz: we don't need isnumeric check for AxisOption

* Update devices.py

fixes issue where "--use-cpu" all properly makes SD run on CPU but leaves ControlNet (and other extensions, I presume) pointed at GPU, causing a crash in ControlNet caused by a mismatch between devices between SD and CN

AUTOMATIC1111#14097

* fix Auto focal point crop for opencv >= 4.8.x

autocrop.download_and_cache_models
in opencv >= 4.8 the face detection model was updated
download the base on opencv version
returns the model path or raise exception

* reformat file with uniform indentation

* Revert "Add FP32 fallback support on sd_vae_approx"

This reverts commit 58c1954.
Since the modification is expected to move to mac_specific.py
(AUTOMATIC1111#14046 (comment))

* Add FP32 fallback support on torch.nn.functional.interpolate

This tries to execute interpolate with FP32 if it failed.

Background is that
on some environment such as Mx chip MacOS devices, we get error as follows:

```
"torch/nn/functional.py", line 3931, in interpolate
        return torch._C._nn.upsample_nearest2d(input, output_size, scale_factors)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    RuntimeError: "upsample_nearest2d_channels_last" not implemented for 'Half'
```

In this case, ```--no-half``` doesn't help to solve. Therefore this commits add the FP32 fallback execution to solve it.

Note that the ```upsample_nearest2d``` is called from ```torch.nn.functional.interpolate```.
And the fallback for torch.nn.functional.interpolate is necessary at
```modules/sd_vae_approx.py``` 's ```VAEApprox.forward```
```repositories/stable-diffusion-stability-ai/ldm/modules/diffusionmodules/openaimodel.py``` 's ```Upsample.forward```

* Fix the Ruff error about unused import

* Initial IPEX support

* add max-heigh/width to global-popup-inner

prevent the pop-up from being too big as to making exiting the pop-up impossible

* Close popups with escape key

* Fix bug where is_using_v_parameterization_for_sd2 fails because the sd_hijack is only partially undone

* Add support for SD 2.1 Turbo, by converting the state dict from SGM to LDM on load

* infotext updates: add option to disregard certain infotext fields, add option to not include VAE in infotext, add explanation to infotext settings page, move some options to infotext settings page

* Disable ipex autocast due to its bad perf

* split UI settings page into many

* put code that can cause an exception into its own function for AUTOMATIC1111#14120

* Fix fp64

* extras tab batch: actually use original filename
preprocessing upscale: do not do an extra upscale step if it's not needed

* Remove webui-ipex-user.bat

* remove Train/Preprocessing tab and put all its functionality into extras batch images mode

* potential fix for AUTOMATIC1111#14172

* alternate implementation for unet forward replacement that does not depend on hijack being applied

* Fix `save_samples` being checked early when saving masked composite

* Re-add setting lost as part of e294e46

* rework mask and mask_composite logic

* Add import_hook hack to work around basicsr incompatibility

Fixes AUTOMATIC1111#13985

* Update launch_utils.py to fix wrong dep. checks and reinstalls

Fixes failing dependency checks for extensions having a different package name and import name (for example ffmpeg-python / ffmpeg), which currently is causing the unneeded reinstall of packages at runtime.

In fact with current code, the same string is used when installing a package and when checking for its presence, as you can see in the following example:

> launch_utils.run_pip("install ffmpeg-python", "required package")
[ Installing required package: "ffmpeg-python" ... ]
[ Installed ]

> launch_utils.is_installed("ffmpeg-python")
False

... which would actually return true with:

> launch_utils.is_installed("ffmpeg")
True

* Lint

* make webui not crash when running with --disable-all-extensions option

* update changelog

* repair old handler for postprocessing API

* repair old handler for postprocessing API in a way that doesn't break interface

* add hypertile infotext

* Merge pull request AUTOMATIC1111#14203 from AUTOMATIC1111/remove-clean_text()

remove clean_text()

* fix Inpaint Image Appears Behind Some UI Elements anapnoe#206

* fix side panel show/hide button hot zone does not use the entire width anapnoe#204

* Merge pull request AUTOMATIC1111#14300 from AUTOMATIC1111/oft_fixes

Fix wrong implementation in network_oft

* Merge pull request AUTOMATIC1111#14296 from akx/paste-resolution

Allow pasting in WIDTHxHEIGHT strings into the width/height fields

* Merge pull request AUTOMATIC1111#14270 from kaalibro/extra-options-elem-id

Assign id for "extra_options". Replace numeric field with slider.

* Merge pull request AUTOMATIC1111#14276 from AUTOMATIC1111/fix-styles

Fix styles

* Merge pull request AUTOMATIC1111#14266 from kaalibro/dev

Re-add setting lost as part of e294e46

* Merge pull request AUTOMATIC1111#14229 from Nuullll/ipex-embedding

[IPEX] Fix embedding and ControlNet

* Merge pull request AUTOMATIC1111#14230 from AUTOMATIC1111/add-option-Live-preview-in-full-page-image-viewer

add option: Live preview in full page image viewer

* Merge pull request AUTOMATIC1111#14216 from wfjsw/state-dict-ref-comparison

change state dict comparison to ref compare

* Merge pull request AUTOMATIC1111#14237 from ReneKroon/dev

AUTOMATIC1111#13354 : solve lora loading issue

* Merge pull request AUTOMATIC1111#14307 from AUTOMATIC1111/default-Falst-js_live_preview_in_modal_lightbox

default False js_live_preview_in_modal_lightbox

* update to 1.7 from upstream

* Update README.md

* Update screenshot.png

* Update CITATION.cff

* update to latest version

* update to latest version

---------

Signed-off-by: storyicon <[email protected]>
Co-authored-by: Gleb Alekseev <[email protected]>
Co-authored-by: missionfloyd <[email protected]>
Co-authored-by: AUTOMATIC1111 <[email protected]>
Co-authored-by: Won-Kyu Park <[email protected]>
Co-authored-by: Khachatur Avanesian <[email protected]>
Co-authored-by: v0xie <[email protected]>
Co-authored-by: avantcontra <[email protected]>
Co-authored-by: David Benson <[email protected]>
Co-authored-by: Meerkov <[email protected]>
Co-authored-by: Emily Zeng <[email protected]>
Co-authored-by: w-e-w <[email protected]>
Co-authored-by: gibiee <[email protected]>
Co-authored-by: Ritesh Gangnani <riteshgangnani10>
Co-authored-by: GerryDE <[email protected]>
Co-authored-by: fuchen.ljl <[email protected]>
Co-authored-by: Alessandro de Oliveira Faria (A.K.A. CABELO) <[email protected]>
Co-authored-by: wfjsw <[email protected]>
Co-authored-by: aria1th <[email protected]>
Co-authored-by: Tom Haelbich <[email protected]>
Co-authored-by: kaalibro <[email protected]>
Co-authored-by: anapnoe <[email protected]>
Co-authored-by: AngelBottomless <[email protected]>
Co-authored-by: Kieran Hunt <[email protected]>
Co-authored-by: Lucas Daniel Velazquez M <[email protected]>
Co-authored-by: Your Name <[email protected]>
Co-authored-by: storyicon <[email protected]>
Co-authored-by: Tom Haelbich <[email protected]>
Co-authored-by: hidenorly <[email protected]>
Co-authored-by: Aarni Koskela <[email protected]>
Co-authored-by: Charlie Joynt <[email protected]>
Co-authored-by: obsol <[email protected]>
Co-authored-by: Nuullll <[email protected]>
Co-authored-by: MrCheeze <[email protected]>
Co-authored-by: catboxanon <[email protected]>
Co-authored-by: illtellyoulater <[email protected]>
martianunlimited added a commit to martianunlimited/stable-diffusion-webui-ux that referenced this issue Jan 25, 2024
* pull (#11)

* added option to play notification sound or not

* Convert (emphasis) to (emphasis:1.1)

per @SirVeggie's suggestion

* Make attention conversion optional

Fix square brackets multiplier

* put notification.mp3 option at the end of the page

* more general case of adding an infotext when no images have been generated

* use shallow copy for AUTOMATIC1111#13535

* remove duplicated code

* support webui.settings.bat

* Start / Restart generation by Ctrl (Alt) + Enter

Add ability to interrupt current generation and start generation again by Ctrl (Alt) + Enter

* add an option to not print stack traces on ctrl+c.

* repair unload sd checkpoint button

* respect keyedit_precision_attention setting when converting from old (((attention))) syntax

* Update script.js

Exclude lambda

* Update script.js

LF instead CRLF

* Update script.js

* Add files via upload

LF

* wip incorrect OFT implementation

* inference working but SLOW

* faster by using cached R in forward

* faster by calculating R in updown and using cached R in forward

* refactor: fix constraint, re-use get_weight

* style: formatting

* style: fix ambiguous variable name

* rework some of changes for emphasis editing keys, force conversion of old-style emphasis

* fix the situation with emphasis editing (aaaa:1.1) bbbb (cccc:1.1)

* fix bug when using --gfpgan-models-path

* fix Blank line contains whitespace

* refactor: use forward hook instead of custom forward

* fix: return orig weights during updown, merge weights before forward

* fix: support multiplier, no forward pass hook

* style: cleanup oft

* fix: use merge_weight to cache value

* refactor: remove used OFT functions

* fix: multiplier applied twice in finalize_updown

* style: conform style

* Update prompts_from_file script to allow concatenating entries with the general prompt.

* linting issue

* call state.jobnext() before postproces*()

* Fix AUTOMATIC1111#13796

Fix comment error that makes understanding scheduling more confusing.

* test implementation based on kohaku diag-oft implementation

* detect diag_oft type

* no idea what i'm doing, trying to support both type of OFT, kblueleaf diag_oft has MultiheadAttn which kohya's doesn't?, attempt create new module based off network_lora.py, errors about tensor dim mismatch

* added accordion settings options

* Fix parenthesis auto selection

Fixes AUTOMATIC1111#13813

* Update requirements_versions.txt

* skip multihead attn for now

* refactor: move factorization to lyco_helpers, separate calc_updown for kohya and kb

* refactor: use same updown for both kohya OFT and LyCORIS diag-oft

* refactor: remove unused function

* correct a typo

modify "defaul" to "default"

* add a visible checkbox to input accordion

* eslint

* properly apply sort order for extra network cards when selected from dropdown
allow selection of default sort order in settings
remove 'Default' sort order, replace with 'Name'

* Add SSD-1B as a supported model

* Added memory clearance after deletion

* Use devices.torch_gc() instead of empty_cache()

* added compact prompt option

* compact prompt option disabled by default

* linter

* more changes for AUTOMATIC1111#13865: fix formatting, rename the function, add comment and add a readme entry

* fix img2img_tabs error

* fix exception related to the pix2pix

* Add option to set notification sound volume

* fix pix2pix producing bad results

* moved nested with to single line to remove extra tabs

* removed changes that weren't merged properly

* multiline with statement for readibility

* Update README.md

Modify the stablediffusion dependency address

* Update README.md

Modify the stablediffusion dependency address

* - opensuse compatibility

* Enable prompt hotkeys in style editor

* Compatibility with Debian 11, Fedora 34+ and openSUSE 15.4+

* fix added accordion settings options

* ExitStack as alternative to suppress

* implementing script metadata and DAG sorting mechanism

* populate loaded_extensions from extension list instead

* reverse the extension load order so builtin extensions load earlier natively

* add hyperTile

https://github.com/tfernd/HyperTile

* remove the assumption of same name

* allow comma and whitespace as separator

* fix

* bug fix

* dir buttons start with / so only the correct dir will be shown and not dirs with a substrings as name from the dir

* Lint

* Fixes generation restart not working for some users when 'Ctrl+Enter' is pressed

* Adds 'Path' sorting for Extra network cards

* fix gradio video component and canvas fit for inpaint

* hotfix: call shared.state.end() after postprocessing done

* Implement Hypertile

Co-Authored-By: Kieran Hunt <[email protected]>

* copy LDM VAE key from XL

* fix: ignore calc_scale() for COFT which has very small alpha

* feat: LyCORIS/kohya OFT network support

* convert/add hypertile options

* fix ruff - add newline

* Adds tqdm handler to logging_config.py for progress bar integration

* Take into account tqdm not being installed before first boot for logging

* actually adds handler to logging_config.py

* Fix critical issue - unet apply

* Fix inverted option issue

I'm pretty sure I was sleepy while implementing this

* set empty value for SD XL 3rd layer

* fix double gc and decoding with unet context

* feat: fix randn found element of type float at pos 2

Signed-off-by: storyicon <[email protected]>

* use metadata.ini for meta filename

* Option to show batch img2img results in UI

shared.opts.img2img_batch_show_results_limit
limit the number of images return to the UI for batch img2img
default limit 32
0 no images are shown
-1 unlimited, all images are shown

* save sysinfo as .json

GitHub now allows uploading of .json files in issues

* rework extensions metadata: use custom sorter that doesn't mess the order as much and ignores cyclic errors, use classes with named fields instead of dictionaries, eliminate some duplicated code

* added option for default behavior of dir buttons

* Add FP32 fallback support on sd_vae_approx

This tries to execute interpolate with FP32 if it failed.

Background is that
on some environment such as Mx chip MacOS devices, we get error as follows:

```
"torch/nn/functional.py", line 3931, in interpolate
        return torch._C._nn.upsample_nearest2d(input, output_size, scale_factors)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    RuntimeError: "upsample_nearest2d_channels_last" not implemented for 'Half'
```

In this case, ```--no-half``` doesn't help to solve. Therefore this commits add the FP32 fallback execution to solve it.

Note that the submodule may require additional modifications. The following is the example modification on the other submodule.

```repositories/stable-diffusion-stability-ai/ldm/modules/diffusionmodules/openaimodel.py

class Upsample(nn.Module):
..snip..
    def forward(self, x):
        assert x.shape[1] == self.channels
        if self.dims == 3:
            x = F.interpolate(
                x, (x.shape[2], x.shape[3] * 2, x.shape[4] * 2), mode="nearest"
            )
        else:
            try:
                x = F.interpolate(x, scale_factor=2, mode="nearest")
            except:
                x = F.interpolate(x.to(th.float32), scale_factor=2, mode="nearest").to(x.dtype)
        if self.use_conv:
            x = self.conv(x)
        return x
..snip..
```

You can see the FP32 fallback execution as same as sd_vae_approx.py.

* fix  [Bug]: (Dev Branch) Placing "Dimensions" first in "ui_reorder_list" prevents start AUTOMATIC1111#14047

* Update ruff to 0.1.6

* Simplify restart_sampler (suggested by ruff)

* use extension name for determining an extension is installed in the index

* Move exception_records related methods to errors.py

* remove traceback in sysinfo

* move file

* rework hypertile into a built-in extension

* do not save HTML explanations from options page to config

* fix linter errors

* compact prompt layout: preserve scroll when switching between lora tabs

* json.dump(ensure_ascii=False)

improve json readability

* add categories to settings

* also consider extension url

* add Block component creation callback

* catch uncaught exception with ui creation scripts

prevent total webui crash

* Allow use of mutiple styles csv files

* bugfix for warning message (#6)

* bugfix for warning message (#6)

* bugfix for warning message

* bugfix error message

* Allow use of mutiple styles csv files
* AUTOMATIC1111#14122
Fix edge case where style text has multiple {prompt} placeholders
* AUTOMATIC1111#14005

* Support XYZ scripts / split hires path from unet

* cache divisors / fix ruff

* fix ruff in hypertile_xyz.py

* fix ruff - set comprehension

* hypertile_xyz: we don't need isnumeric check for AxisOption

* Update devices.py

fixes issue where "--use-cpu" all properly makes SD run on CPU but leaves ControlNet (and other extensions, I presume) pointed at GPU, causing a crash in ControlNet caused by a mismatch between devices between SD and CN

AUTOMATIC1111#14097

* fix Auto focal point crop for opencv >= 4.8.x

autocrop.download_and_cache_models
in opencv >= 4.8 the face detection model was updated
download the base on opencv version
returns the model path or raise exception

* reformat file with uniform indentation

* Revert "Add FP32 fallback support on sd_vae_approx"

This reverts commit 58c1954.
Since the modification is expected to move to mac_specific.py
(AUTOMATIC1111#14046 (comment))

* Add FP32 fallback support on torch.nn.functional.interpolate

This tries to execute interpolate with FP32 if it failed.

Background is that
on some environment such as Mx chip MacOS devices, we get error as follows:

```
"torch/nn/functional.py", line 3931, in interpolate
        return torch._C._nn.upsample_nearest2d(input, output_size, scale_factors)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    RuntimeError: "upsample_nearest2d_channels_last" not implemented for 'Half'
```

In this case, ```--no-half``` doesn't help to solve. Therefore this commits add the FP32 fallback execution to solve it.

Note that the ```upsample_nearest2d``` is called from ```torch.nn.functional.interpolate```.
And the fallback for torch.nn.functional.interpolate is necessary at
```modules/sd_vae_approx.py``` 's ```VAEApprox.forward```
```repositories/stable-diffusion-stability-ai/ldm/modules/diffusionmodules/openaimodel.py``` 's ```Upsample.forward```

* Fix the Ruff error about unused import

* Initial IPEX support

* add max-heigh/width to global-popup-inner

prevent the pop-up from being too big as to making exiting the pop-up impossible

* Close popups with escape key

* Fix bug where is_using_v_parameterization_for_sd2 fails because the sd_hijack is only partially undone

* Add support for SD 2.1 Turbo, by converting the state dict from SGM to LDM on load

* infotext updates: add option to disregard certain infotext fields, add option to not include VAE in infotext, add explanation to infotext settings page, move some options to infotext settings page

* Disable ipex autocast due to its bad perf

* split UI settings page into many

* put code that can cause an exception into its own function for AUTOMATIC1111#14120

* Fix fp64

* extras tab batch: actually use original filename
preprocessing upscale: do not do an extra upscale step if it's not needed

* Remove webui-ipex-user.bat

* remove Train/Preprocessing tab and put all its functionality into extras batch images mode

* potential fix for AUTOMATIC1111#14172

* alternate implementation for unet forward replacement that does not depend on hijack being applied

* Fix `save_samples` being checked early when saving masked composite

* Re-add setting lost as part of e294e46

* rework mask and mask_composite logic

* Add import_hook hack to work around basicsr incompatibility

Fixes AUTOMATIC1111#13985

* Update launch_utils.py to fix wrong dep. checks and reinstalls

Fixes failing dependency checks for extensions having a different package name and import name (for example ffmpeg-python / ffmpeg), which currently is causing the unneeded reinstall of packages at runtime.

In fact with current code, the same string is used when installing a package and when checking for its presence, as you can see in the following example:

> launch_utils.run_pip("install ffmpeg-python", "required package")
[ Installing required package: "ffmpeg-python" ... ]
[ Installed ]

> launch_utils.is_installed("ffmpeg-python")
False

... which would actually return true with:

> launch_utils.is_installed("ffmpeg")
True

* Lint

* make webui not crash when running with --disable-all-extensions option

* update changelog

* repair old handler for postprocessing API

* repair old handler for postprocessing API in a way that doesn't break interface

* add hypertile infotext

* Merge pull request AUTOMATIC1111#14203 from AUTOMATIC1111/remove-clean_text()

remove clean_text()

* fix Inpaint Image Appears Behind Some UI Elements anapnoe#206

* fix side panel show/hide button hot zone does not use the entire width anapnoe#204

* Merge pull request AUTOMATIC1111#14300 from AUTOMATIC1111/oft_fixes

Fix wrong implementation in network_oft

* Merge pull request AUTOMATIC1111#14296 from akx/paste-resolution

Allow pasting in WIDTHxHEIGHT strings into the width/height fields

* Merge pull request AUTOMATIC1111#14270 from kaalibro/extra-options-elem-id

Assign id for "extra_options". Replace numeric field with slider.

* Merge pull request AUTOMATIC1111#14276 from AUTOMATIC1111/fix-styles

Fix styles

* Merge pull request AUTOMATIC1111#14266 from kaalibro/dev

Re-add setting lost as part of e294e46

* Merge pull request AUTOMATIC1111#14229 from Nuullll/ipex-embedding

[IPEX] Fix embedding and ControlNet

* Merge pull request AUTOMATIC1111#14230 from AUTOMATIC1111/add-option-Live-preview-in-full-page-image-viewer

add option: Live preview in full page image viewer

* Merge pull request AUTOMATIC1111#14216 from wfjsw/state-dict-ref-comparison

change state dict comparison to ref compare

* Merge pull request AUTOMATIC1111#14237 from ReneKroon/dev

AUTOMATIC1111#13354 : solve lora loading issue

* Merge pull request AUTOMATIC1111#14307 from AUTOMATIC1111/default-Falst-js_live_preview_in_modal_lightbox

default False js_live_preview_in_modal_lightbox

* update to 1.7 from upstream

* Update README.md

* Update screenshot.png

* Update CITATION.cff

* update to latest version

* update to latest version

---------

Signed-off-by: storyicon <[email protected]>
Co-authored-by: Gleb Alekseev <[email protected]>
Co-authored-by: missionfloyd <[email protected]>
Co-authored-by: AUTOMATIC1111 <[email protected]>
Co-authored-by: Won-Kyu Park <[email protected]>
Co-authored-by: Khachatur Avanesian <[email protected]>
Co-authored-by: v0xie <[email protected]>
Co-authored-by: avantcontra <[email protected]>
Co-authored-by: David Benson <[email protected]>
Co-authored-by: Meerkov <[email protected]>
Co-authored-by: Emily Zeng <[email protected]>
Co-authored-by: w-e-w <[email protected]>
Co-authored-by: gibiee <[email protected]>
Co-authored-by: Ritesh Gangnani <riteshgangnani10>
Co-authored-by: GerryDE <[email protected]>
Co-authored-by: fuchen.ljl <[email protected]>
Co-authored-by: Alessandro de Oliveira Faria (A.K.A. CABELO) <[email protected]>
Co-authored-by: wfjsw <[email protected]>
Co-authored-by: aria1th <[email protected]>
Co-authored-by: Tom Haelbich <[email protected]>
Co-authored-by: kaalibro <[email protected]>
Co-authored-by: anapnoe <[email protected]>
Co-authored-by: AngelBottomless <[email protected]>
Co-authored-by: Kieran Hunt <[email protected]>
Co-authored-by: Lucas Daniel Velazquez M <[email protected]>
Co-authored-by: Your Name <[email protected]>
Co-authored-by: storyicon <[email protected]>
Co-authored-by: Tom Haelbich <[email protected]>
Co-authored-by: hidenorly <[email protected]>
Co-authored-by: Aarni Koskela <[email protected]>
Co-authored-by: Charlie Joynt <[email protected]>
Co-authored-by: obsol <[email protected]>
Co-authored-by: Nuullll <[email protected]>
Co-authored-by: MrCheeze <[email protected]>
Co-authored-by: catboxanon <[email protected]>
Co-authored-by: illtellyoulater <[email protected]>

* Z (#12)

* added option to play notification sound or not

* Convert (emphasis) to (emphasis:1.1)

per @SirVeggie's suggestion

* Make attention conversion optional

Fix square brackets multiplier

* put notification.mp3 option at the end of the page

* more general case of adding an infotext when no images have been generated

* use shallow copy for AUTOMATIC1111#13535

* remove duplicated code

* support webui.settings.bat

* Start / Restart generation by Ctrl (Alt) + Enter

Add ability to interrupt current generation and start generation again by Ctrl (Alt) + Enter

* add an option to not print stack traces on ctrl+c.

* repair unload sd checkpoint button

* respect keyedit_precision_attention setting when converting from old (((attention))) syntax

* Update script.js

Exclude lambda

* Update script.js

LF instead CRLF

* Update script.js

* Add files via upload

LF

* wip incorrect OFT implementation

* inference working but SLOW

* faster by using cached R in forward

* faster by calculating R in updown and using cached R in forward

* refactor: fix constraint, re-use get_weight

* style: formatting

* style: fix ambiguous variable name

* rework some of changes for emphasis editing keys, force conversion of old-style emphasis

* fix the situation with emphasis editing (aaaa:1.1) bbbb (cccc:1.1)

* fix bug when using --gfpgan-models-path

* fix Blank line contains whitespace

* refactor: use forward hook instead of custom forward

* fix: return orig weights during updown, merge weights before forward

* fix: support multiplier, no forward pass hook

* style: cleanup oft

* fix: use merge_weight to cache value

* refactor: remove used OFT functions

* fix: multiplier applied twice in finalize_updown

* style: conform style

* Update prompts_from_file script to allow concatenating entries with the general prompt.

* linting issue

* call state.jobnext() before postproces*()

* Fix AUTOMATIC1111#13796

Fix comment error that makes understanding scheduling more confusing.

* test implementation based on kohaku diag-oft implementation

* detect diag_oft type

* no idea what i'm doing, trying to support both type of OFT, kblueleaf diag_oft has MultiheadAttn which kohya's doesn't?, attempt create new module based off network_lora.py, errors about tensor dim mismatch

* added accordion settings options

* Fix parenthesis auto selection

Fixes AUTOMATIC1111#13813

* Update requirements_versions.txt

* skip multihead attn for now

* refactor: move factorization to lyco_helpers, separate calc_updown for kohya and kb

* refactor: use same updown for both kohya OFT and LyCORIS diag-oft

* refactor: remove unused function

* correct a typo

modify "defaul" to "default"

* add a visible checkbox to input accordion

* eslint

* properly apply sort order for extra network cards when selected from dropdown
allow selection of default sort order in settings
remove 'Default' sort order, replace with 'Name'

* Add SSD-1B as a supported model

* Added memory clearance after deletion

* Use devices.torch_gc() instead of empty_cache()

* added compact prompt option

* compact prompt option disabled by default

* linter

* more changes for AUTOMATIC1111#13865: fix formatting, rename the function, add comment and add a readme entry

* fix img2img_tabs error

* fix exception related to the pix2pix

* Add option to set notification sound volume

* fix pix2pix producing bad results

* moved nested with to single line to remove extra tabs

* removed changes that weren't merged properly

* multiline with statement for readibility

* Update README.md

Modify the stablediffusion dependency address

* Update README.md

Modify the stablediffusion dependency address

* - opensuse compatibility

* Enable prompt hotkeys in style editor

* Compatibility with Debian 11, Fedora 34+ and openSUSE 15.4+

* fix added accordion settings options

* ExitStack as alternative to suppress

* implementing script metadata and DAG sorting mechanism

* populate loaded_extensions from extension list instead

* reverse the extension load order so builtin extensions load earlier natively

* add hyperTile

https://github.com/tfernd/HyperTile

* remove the assumption of same name

* allow comma and whitespace as separator

* fix

* bug fix

* dir buttons start with / so only the correct dir will be shown and not dirs with a substrings as name from the dir

* Lint

* Fixes generation restart not working for some users when 'Ctrl+Enter' is pressed

* Adds 'Path' sorting for Extra network cards

* fix gradio video component and canvas fit for inpaint

* hotfix: call shared.state.end() after postprocessing done

* Implement Hypertile

Co-Authored-By: Kieran Hunt <[email protected]>

* copy LDM VAE key from XL

* fix: ignore calc_scale() for COFT which has very small alpha

* feat: LyCORIS/kohya OFT network support

* convert/add hypertile options

* fix ruff - add newline

* Adds tqdm handler to logging_config.py for progress bar integration

* Take into account tqdm not being installed before first boot for logging

* actually adds handler to logging_config.py

* Fix critical issue - unet apply

* Fix inverted option issue

I'm pretty sure I was sleepy while implementing this

* set empty value for SD XL 3rd layer

* fix double gc and decoding with unet context

* feat: fix randn found element of type float at pos 2

Signed-off-by: storyicon <[email protected]>

* use metadata.ini for meta filename

* Option to show batch img2img results in UI

shared.opts.img2img_batch_show_results_limit
limit the number of images return to the UI for batch img2img
default limit 32
0 no images are shown
-1 unlimited, all images are shown

* save sysinfo as .json

GitHub now allows uploading of .json files in issues

* rework extensions metadata: use custom sorter that doesn't mess the order as much and ignores cyclic errors, use classes with named fields instead of dictionaries, eliminate some duplicated code

* added option for default behavior of dir buttons

* Add FP32 fallback support on sd_vae_approx

This tries to execute interpolate with FP32 if it failed.

Background is that
on some environment such as Mx chip MacOS devices, we get error as follows:

```
"torch/nn/functional.py", line 3931, in interpolate
        return torch._C._nn.upsample_nearest2d(input, output_size, scale_factors)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    RuntimeError: "upsample_nearest2d_channels_last" not implemented for 'Half'
```

In this case, ```--no-half``` doesn't help to solve. Therefore this commits add the FP32 fallback execution to solve it.

Note that the submodule may require additional modifications. The following is the example modification on the other submodule.

```repositories/stable-diffusion-stability-ai/ldm/modules/diffusionmodules/openaimodel.py

class Upsample(nn.Module):
..snip..
    def forward(self, x):
        assert x.shape[1] == self.channels
        if self.dims == 3:
            x = F.interpolate(
                x, (x.shape[2], x.shape[3] * 2, x.shape[4] * 2), mode="nearest"
            )
        else:
            try:
                x = F.interpolate(x, scale_factor=2, mode="nearest")
            except:
                x = F.interpolate(x.to(th.float32), scale_factor=2, mode="nearest").to(x.dtype)
        if self.use_conv:
            x = self.conv(x)
        return x
..snip..
```

You can see the FP32 fallback execution as same as sd_vae_approx.py.

* fix  [Bug]: (Dev Branch) Placing "Dimensions" first in "ui_reorder_list" prevents start AUTOMATIC1111#14047

* Update ruff to 0.1.6

* Simplify restart_sampler (suggested by ruff)

* use extension name for determining an extension is installed in the index

* Move exception_records related methods to errors.py

* remove traceback in sysinfo

* move file

* rework hypertile into a built-in extension

* do not save HTML explanations from options page to config

* fix linter errors

* compact prompt layout: preserve scroll when switching between lora tabs

* json.dump(ensure_ascii=False)

improve json readability

* add categories to settings

* also consider extension url

* add Block component creation callback

* catch uncaught exception with ui creation scripts

prevent total webui crash

* Allow use of mutiple styles csv files

* bugfix for warning message (#6)

* bugfix for warning message (#6)

* bugfix for warning message

* bugfix error message

* Allow use of mutiple styles csv files
* AUTOMATIC1111#14122
Fix edge case where style text has multiple {prompt} placeholders
* AUTOMATIC1111#14005

* Support XYZ scripts / split hires path from unet

* cache divisors / fix ruff

* fix ruff in hypertile_xyz.py

* fix ruff - set comprehension

* hypertile_xyz: we don't need isnumeric check for AxisOption

* Update devices.py

fixes issue where "--use-cpu" all properly makes SD run on CPU but leaves ControlNet (and other extensions, I presume) pointed at GPU, causing a crash in ControlNet caused by a mismatch between devices between SD and CN

AUTOMATIC1111#14097

* fix Auto focal point crop for opencv >= 4.8.x

autocrop.download_and_cache_models
in opencv >= 4.8 the face detection model was updated
download the base on opencv version
returns the model path or raise exception

* reformat file with uniform indentation

* Revert "Add FP32 fallback support on sd_vae_approx"

This reverts commit 58c1954.
Since the modification is expected to move to mac_specific.py
(AUTOMATIC1111#14046 (comment))

* Add FP32 fallback support on torch.nn.functional.interpolate

This tries to execute interpolate with FP32 if it failed.

Background is that
on some environment such as Mx chip MacOS devices, we get error as follows:

```
"torch/nn/functional.py", line 3931, in interpolate
        return torch._C._nn.upsample_nearest2d(input, output_size, scale_factors)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    RuntimeError: "upsample_nearest2d_channels_last" not implemented for 'Half'
```

In this case, ```--no-half``` doesn't help to solve. Therefore this commits add the FP32 fallback execution to solve it.

Note that the ```upsample_nearest2d``` is called from ```torch.nn.functional.interpolate```.
And the fallback for torch.nn.functional.interpolate is necessary at
```modules/sd_vae_approx.py``` 's ```VAEApprox.forward```
```repositories/stable-diffusion-stability-ai/ldm/modules/diffusionmodules/openaimodel.py``` 's ```Upsample.forward```

* Fix the Ruff error about unused import

* Initial IPEX support

* add max-heigh/width to global-popup-inner

prevent the pop-up from being too big as to making exiting the pop-up impossible

* Close popups with escape key

* Fix bug where is_using_v_parameterization_for_sd2 fails because the sd_hijack is only partially undone

* Add support for SD 2.1 Turbo, by converting the state dict from SGM to LDM on load

* infotext updates: add option to disregard certain infotext fields, add option to not include VAE in infotext, add explanation to infotext settings page, move some options to infotext settings page

* Disable ipex autocast due to its bad perf

* split UI settings page into many

* put code that can cause an exception into its own function for AUTOMATIC1111#14120

* Fix fp64

* extras tab batch: actually use original filename
preprocessing upscale: do not do an extra upscale step if it's not needed

* Remove webui-ipex-user.bat

* remove Train/Preprocessing tab and put all its functionality into extras batch images mode

* potential fix for AUTOMATIC1111#14172

* alternate implementation for unet forward replacement that does not depend on hijack being applied

* Fix `save_samples` being checked early when saving masked composite

* Re-add setting lost as part of e294e46

* rework mask and mask_composite logic

* Add import_hook hack to work around basicsr incompatibility

Fixes AUTOMATIC1111#13985

* Update launch_utils.py to fix wrong dep. checks and reinstalls

Fixes failing dependency checks for extensions having a different package name and import name (for example ffmpeg-python / ffmpeg), which currently is causing the unneeded reinstall of packages at runtime.

In fact with current code, the same string is used when installing a package and when checking for its presence, as you can see in the following example:

> launch_utils.run_pip("install ffmpeg-python", "required package")
[ Installing required package: "ffmpeg-python" ... ]
[ Installed ]

> launch_utils.is_installed("ffmpeg-python")
False

... which would actually return true with:

> launch_utils.is_installed("ffmpeg")
True

* Lint

* make webui not crash when running with --disable-all-extensions option

* update changelog

* repair old handler for postprocessing API

* repair old handler for postprocessing API in a way that doesn't break interface

* add hypertile infotext

* Merge pull request AUTOMATIC1111#14203 from AUTOMATIC1111/remove-clean_text()

remove clean_text()

* fix Inpaint Image Appears Behind Some UI Elements anapnoe#206

* fix side panel show/hide button hot zone does not use the entire width anapnoe#204

* Merge pull request AUTOMATIC1111#14300 from AUTOMATIC1111/oft_fixes

Fix wrong implementation in network_oft

* Merge pull request AUTOMATIC1111#14296 from akx/paste-resolution

Allow pasting in WIDTHxHEIGHT strings into the width/height fields

* Merge pull request AUTOMATIC1111#14270 from kaalibro/extra-options-elem-id

Assign id for "extra_options". Replace numeric field with slider.

* Merge pull request AUTOMATIC1111#14276 from AUTOMATIC1111/fix-styles

Fix styles

* Merge pull request AUTOMATIC1111#14266 from kaalibro/dev

Re-add setting lost as part of e294e46

* Merge pull request AUTOMATIC1111#14229 from Nuullll/ipex-embedding

[IPEX] Fix embedding and ControlNet

* Merge pull request AUTOMATIC1111#14230 from AUTOMATIC1111/add-option-Live-preview-in-full-page-image-viewer

add option: Live preview in full page image viewer

* Merge pull request AUTOMATIC1111#14216 from wfjsw/state-dict-ref-comparison

change state dict comparison to ref compare

* Merge pull request AUTOMATIC1111#14237 from ReneKroon/dev

AUTOMATIC1111#13354 : solve lora loading issue

* Merge pull request AUTOMATIC1111#14307 from AUTOMATIC1111/default-Falst-js_live_preview_in_modal_lightbox

default False js_live_preview_in_modal_lightbox

* update to 1.7 from upstream

* Update README.md

* Update screenshot.png

* Update CITATION.cff

* update to latest version

* update to latest version

---------

Signed-off-by: storyicon <[email protected]>
Co-authored-by: Gleb Alekseev <[email protected]>
Co-authored-by: missionfloyd <[email protected]>
Co-authored-by: AUTOMATIC1111 <[email protected]>
Co-authored-by: Won-Kyu Park <[email protected]>
Co-authored-by: Khachatur Avanesian <[email protected]>
Co-authored-by: v0xie <[email protected]>
Co-authored-by: avantcontra <[email protected]>
Co-authored-by: David Benson <[email protected]>
Co-authored-by: Meerkov <[email protected]>
Co-authored-by: Emily Zeng <[email protected]>
Co-authored-by: w-e-w <[email protected]>
Co-authored-by: gibiee <[email protected]>
Co-authored-by: Ritesh Gangnani <riteshgangnani10>
Co-authored-by: GerryDE <[email protected]>
Co-authored-by: fuchen.ljl <[email protected]>
Co-authored-by: Alessandro de Oliveira Faria (A.K.A. CABELO) <[email protected]>
Co-authored-by: wfjsw <[email protected]>
Co-authored-by: aria1th <[email protected]>
Co-authored-by: Tom Haelbich <[email protected]>
Co-authored-by: kaalibro <[email protected]>
Co-authored-by: anapnoe <[email protected]>
Co-authored-by: AngelBottomless <[email protected]>
Co-authored-by: Kieran Hunt <[email protected]>
Co-authored-by: Lucas Daniel Velazquez M <[email protected]>
Co-authored-by: Your Name <[email protected]>
Co-authored-by: storyicon <[email protected]>
Co-authored-by: Tom Haelbich <[email protected]>
Co-authored-by: hidenorly <[email protected]>
Co-authored-by: Aarni Koskela <[email protected]>
Co-authored-by: Charlie Joynt <[email protected]>
Co-authored-by: obsol <[email protected]>
Co-authored-by: Nuullll <[email protected]>
Co-authored-by: MrCheeze <[email protected]>
Co-authored-by: catboxanon <[email protected]>
Co-authored-by: illtellyoulater <[email protected]>

---------

Signed-off-by: storyicon <[email protected]>
Co-authored-by: Gleb Alekseev <[email protected]>
Co-authored-by: missionfloyd <[email protected]>
Co-authored-by: AUTOMATIC1111 <[email protected]>
Co-authored-by: Won-Kyu Park <[email protected]>
Co-authored-by: Khachatur Avanesian <[email protected]>
Co-authored-by: v0xie <[email protected]>
Co-authored-by: avantcontra <[email protected]>
Co-authored-by: David Benson <[email protected]>
Co-authored-by: Meerkov <[email protected]>
Co-authored-by: Emily Zeng <[email protected]>
Co-authored-by: w-e-w <[email protected]>
Co-authored-by: gibiee <[email protected]>
Co-authored-by: GerryDE <[email protected]>
Co-authored-by: fuchen.ljl <[email protected]>
Co-authored-by: Alessandro de Oliveira Faria (A.K.A. CABELO) <[email protected]>
Co-authored-by: wfjsw <[email protected]>
Co-authored-by: aria1th <[email protected]>
Co-authored-by: Tom Haelbich <[email protected]>
Co-authored-by: kaalibro <[email protected]>
Co-authored-by: anapnoe <[email protected]>
Co-authored-by: AngelBottomless <[email protected]>
Co-authored-by: Kieran Hunt <[email protected]>
Co-authored-by: Lucas Daniel Velazquez M <[email protected]>
Co-authored-by: Your Name <[email protected]>
Co-authored-by: storyicon <[email protected]>
Co-authored-by: Tom Haelbich <[email protected]>
Co-authored-by: hidenorly <[email protected]>
Co-authored-by: Aarni Koskela <[email protected]>
Co-authored-by: Charlie Joynt <[email protected]>
Co-authored-by: obsol <[email protected]>
Co-authored-by: Nuullll <[email protected]>
Co-authored-by: MrCheeze <[email protected]>
Co-authored-by: catboxanon <[email protected]>
Co-authored-by: illtellyoulater <[email protected]>
martianunlimited added a commit to martianunlimited/stable-diffusion-webui-ux that referenced this issue Jan 25, 2024
* fix IndexError: list index out of range error interrupted while postprocess

* added option to play notification sound or not

* Convert (emphasis) to (emphasis:1.1)

per @SirVeggie's suggestion

* Make attention conversion optional

Fix square brackets multiplier

* put notification.mp3 option at the end of the page

* more general case of adding an infotext when no images have been generated

* use shallow copy for AUTOMATIC1111#13535

* remove duplicated code

* support webui.settings.bat

* Start / Restart generation by Ctrl (Alt) + Enter

Add ability to interrupt current generation and start generation again by Ctrl (Alt) + Enter

* add an option to not print stack traces on ctrl+c.

* repair unload sd checkpoint button

* respect keyedit_precision_attention setting when converting from old (((attention))) syntax

* Update script.js

Exclude lambda

* Update script.js

LF instead CRLF

* Update script.js

* Add files via upload

LF

* wip incorrect OFT implementation

* inference working but SLOW

* faster by using cached R in forward

* faster by calculating R in updown and using cached R in forward

* refactor: fix constraint, re-use get_weight

* style: formatting

* style: fix ambiguous variable name

* rework some of changes for emphasis editing keys, force conversion of old-style emphasis

* fix the situation with emphasis editing (aaaa:1.1) bbbb (cccc:1.1)

* fix bug when using --gfpgan-models-path

* fix Blank line contains whitespace

* refactor: use forward hook instead of custom forward

* fix: return orig weights during updown, merge weights before forward

* fix: support multiplier, no forward pass hook

* style: cleanup oft

* fix: use merge_weight to cache value

* refactor: remove used OFT functions

* fix: multiplier applied twice in finalize_updown

* style: conform style

* Update prompts_from_file script to allow concatenating entries with the general prompt.

* linting issue

* call state.jobnext() before postproces*()

* Fix AUTOMATIC1111#13796

Fix comment error that makes understanding scheduling more confusing.

* test implementation based on kohaku diag-oft implementation

* detect diag_oft type

* no idea what i'm doing, trying to support both type of OFT, kblueleaf diag_oft has MultiheadAttn which kohya's doesn't?, attempt create new module based off network_lora.py, errors about tensor dim mismatch

* added accordion settings options

* Fix parenthesis auto selection

Fixes AUTOMATIC1111#13813

* Update requirements_versions.txt

* skip multihead attn for now

* refactor: move factorization to lyco_helpers, separate calc_updown for kohya and kb

* refactor: use same updown for both kohya OFT and LyCORIS diag-oft

* refactor: remove unused function

* correct a typo

modify "defaul" to "default"

* add a visible checkbox to input accordion

* eslint

* properly apply sort order for extra network cards when selected from dropdown
allow selection of default sort order in settings
remove 'Default' sort order, replace with 'Name'

* Add SSD-1B as a supported model

* Added memory clearance after deletion

* Use devices.torch_gc() instead of empty_cache()

* added compact prompt option

* compact prompt option disabled by default

* linter

* more changes for AUTOMATIC1111#13865: fix formatting, rename the function, add comment and add a readme entry

* fix img2img_tabs error

* fix exception related to the pix2pix

* Add option to set notification sound volume

* fix pix2pix producing bad results

* moved nested with to single line to remove extra tabs

* removed changes that weren't merged properly

* multiline with statement for readibility

* Update README.md

Modify the stablediffusion dependency address

* Update README.md

Modify the stablediffusion dependency address

* - opensuse compatibility

* Enable prompt hotkeys in style editor

* Compatibility with Debian 11, Fedora 34+ and openSUSE 15.4+

* fix added accordion settings options

* ExitStack as alternative to suppress

* implementing script metadata and DAG sorting mechanism

* populate loaded_extensions from extension list instead

* reverse the extension load order so builtin extensions load earlier natively

* add hyperTile

https://github.com/tfernd/HyperTile

* remove the assumption of same name

* allow comma and whitespace as separator

* fix

* bug fix

* dir buttons start with / so only the correct dir will be shown and not dirs with a substrings as name from the dir

* Lint

* Fixes generation restart not working for some users when 'Ctrl+Enter' is pressed

* Adds 'Path' sorting for Extra network cards

* hotfix: call shared.state.end() after postprocessing done

* Implement Hypertile

Co-Authored-By: Kieran Hunt <[email protected]>

* copy LDM VAE key from XL

* fix: ignore calc_scale() for COFT which has very small alpha

* feat: LyCORIS/kohya OFT network support

* convert/add hypertile options

* fix ruff - add newline

* Adds tqdm handler to logging_config.py for progress bar integration

* Take into account tqdm not being installed before first boot for logging

* actually adds handler to logging_config.py

* Fix critical issue - unet apply

* Fix inverted option issue

I'm pretty sure I was sleepy while implementing this

* set empty value for SD XL 3rd layer

* fix double gc and decoding with unet context

* feat: fix randn found element of type float at pos 2

Signed-off-by: storyicon <[email protected]>

* use metadata.ini for meta filename

* Option to show batch img2img results in UI

shared.opts.img2img_batch_show_results_limit
limit the number of images return to the UI for batch img2img
default limit 32
0 no images are shown
-1 unlimited, all images are shown

* save sysinfo as .json

GitHub now allows uploading of .json files in issues

* rework extensions metadata: use custom sorter that doesn't mess the order as much and ignores cyclic errors, use classes with named fields instead of dictionaries, eliminate some duplicated code

* added option for default behavior of dir buttons

* Add FP32 fallback support on sd_vae_approx

This tries to execute interpolate with FP32 if it failed.

Background is that
on some environment such as Mx chip MacOS devices, we get error as follows:

```
"torch/nn/functional.py", line 3931, in interpolate
        return torch._C._nn.upsample_nearest2d(input, output_size, scale_factors)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    RuntimeError: "upsample_nearest2d_channels_last" not implemented for 'Half'
```

In this case, ```--no-half``` doesn't help to solve. Therefore this commits add the FP32 fallback execution to solve it.

Note that the submodule may require additional modifications. The following is the example modification on the other submodule.

```repositories/stable-diffusion-stability-ai/ldm/modules/diffusionmodules/openaimodel.py

class Upsample(nn.Module):
..snip..
    def forward(self, x):
        assert x.shape[1] == self.channels
        if self.dims == 3:
            x = F.interpolate(
                x, (x.shape[2], x.shape[3] * 2, x.shape[4] * 2), mode="nearest"
            )
        else:
            try:
                x = F.interpolate(x, scale_factor=2, mode="nearest")
            except:
                x = F.interpolate(x.to(th.float32), scale_factor=2, mode="nearest").to(x.dtype)
        if self.use_conv:
            x = self.conv(x)
        return x
..snip..
```

You can see the FP32 fallback execution as same as sd_vae_approx.py.

* fix  [Bug]: (Dev Branch) Placing "Dimensions" first in "ui_reorder_list" prevents start AUTOMATIC1111#14047

* Update ruff to 0.1.6

* Simplify restart_sampler (suggested by ruff)

* use extension name for determining an extension is installed in the index

* Move exception_records related methods to errors.py

* remove traceback in sysinfo

* move file

* rework hypertile into a built-in extension

* do not save HTML explanations from options page to config

* fix linter errors

* compact prompt layout: preserve scroll when switching between lora tabs

* json.dump(ensure_ascii=False)

improve json readability

* add categories to settings

* also consider extension url

* add Block component creation callback

* catch uncaught exception with ui creation scripts

prevent total webui crash

* Allow use of mutiple styles csv files

* bugfix for warning message (#6)

* bugfix for warning message (#6)

* bugfix for warning message

* bugfix error message

* Allow use of mutiple styles csv files
* AUTOMATIC1111#14122
Fix edge case where style text has multiple {prompt} placeholders
* AUTOMATIC1111#14005

* Support XYZ scripts / split hires path from unet

* cache divisors / fix ruff

* fix ruff in hypertile_xyz.py

* fix ruff - set comprehension

* hypertile_xyz: we don't need isnumeric check for AxisOption

* Update devices.py

fixes issue where "--use-cpu" all properly makes SD run on CPU but leaves ControlNet (and other extensions, I presume) pointed at GPU, causing a crash in ControlNet caused by a mismatch between devices between SD and CN

AUTOMATIC1111#14097

* fix Auto focal point crop for opencv >= 4.8.x

autocrop.download_and_cache_models
in opencv >= 4.8 the face detection model was updated
download the base on opencv version
returns the model path or raise exception

* reformat file with uniform indentation

* Revert "Add FP32 fallback support on sd_vae_approx"

This reverts commit 58c1954.
Since the modification is expected to move to mac_specific.py
(AUTOMATIC1111#14046 (comment))

* Add FP32 fallback support on torch.nn.functional.interpolate

This tries to execute interpolate with FP32 if it failed.

Background is that
on some environment such as Mx chip MacOS devices, we get error as follows:

```
"torch/nn/functional.py", line 3931, in interpolate
        return torch._C._nn.upsample_nearest2d(input, output_size, scale_factors)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    RuntimeError: "upsample_nearest2d_channels_last" not implemented for 'Half'
```

In this case, ```--no-half``` doesn't help to solve. Therefore this commits add the FP32 fallback execution to solve it.

Note that the ```upsample_nearest2d``` is called from ```torch.nn.functional.interpolate```.
And the fallback for torch.nn.functional.interpolate is necessary at
```modules/sd_vae_approx.py``` 's ```VAEApprox.forward```
```repositories/stable-diffusion-stability-ai/ldm/modules/diffusionmodules/openaimodel.py``` 's ```Upsample.forward```

* Fix the Ruff error about unused import

* Initial IPEX support

* add max-heigh/width to global-popup-inner

prevent the pop-up from being too big as to making exiting the pop-up impossible

* Close popups with escape key

* Fix bug where is_using_v_parameterization_for_sd2 fails because the sd_hijack is only partially undone

* Add support for SD 2.1 Turbo, by converting the state dict from SGM to LDM on load

* infotext updates: add option to disregard certain infotext fields, add option to not include VAE in infotext, add explanation to infotext settings page, move some options to infotext settings page

* Disable ipex autocast due to its bad perf

* split UI settings page into many

* put code that can cause an exception into its own function for AUTOMATIC1111#14120

* Fix fp64

* extras tab batch: actually use original filename
preprocessing upscale: do not do an extra upscale step if it's not needed

* Remove webui-ipex-user.bat

* remove Train/Preprocessing tab and put all its functionality into extras batch images mode

* potential fix for AUTOMATIC1111#14172

* alternate implementation for unet forward replacement that does not depend on hijack being applied

* Fix `save_samples` being checked early when saving masked composite

* Re-add setting lost as part of e294e46

* rework mask and mask_composite logic

* Add import_hook hack to work around basicsr incompatibility

Fixes AUTOMATIC1111#13985

* Update launch_utils.py to fix wrong dep. checks and reinstalls

Fixes failing dependency checks for extensions having a different package name and import name (for example ffmpeg-python / ffmpeg), which currently is causing the unneeded reinstall of packages at runtime.

In fact with current code, the same string is used when installing a package and when checking for its presence, as you can see in the following example:

> launch_utils.run_pip("install ffmpeg-python", "required package")
[ Installing required package: "ffmpeg-python" ... ]
[ Installed ]

> launch_utils.is_installed("ffmpeg-python")
False

... which would actually return true with:

> launch_utils.is_installed("ffmpeg")
True

* Lint

* make webui not crash when running with --disable-all-extensions option

* update changelog

* repair old handler for postprocessing API

* repair old handler for postprocessing API in a way that doesn't break interface

* add hypertile infotext

* Merge pull request AUTOMATIC1111#14203 from AUTOMATIC1111/remove-clean_text()

remove clean_text()

* fix Inpaint Image Appears Behind Some UI Elements anapnoe#206

* fix side panel show/hide button hot zone does not use the entire width anapnoe#204

* Merge pull request AUTOMATIC1111#14300 from AUTOMATIC1111/oft_fixes

Fix wrong implementation in network_oft

* Merge pull request AUTOMATIC1111#14296 from akx/paste-resolution

Allow pasting in WIDTHxHEIGHT strings into the width/height fields

* Merge pull request AUTOMATIC1111#14270 from kaalibro/extra-options-elem-id

Assign id for "extra_options". Replace numeric field with slider.

* Merge pull request AUTOMATIC1111#14276 from AUTOMATIC1111/fix-styles

Fix styles

* Merge pull request AUTOMATIC1111#14266 from kaalibro/dev

Re-add setting lost as part of e294e46

* Merge pull request AUTOMATIC1111#14229 from Nuullll/ipex-embedding

[IPEX] Fix embedding and ControlNet

* Merge pull request AUTOMATIC1111#14230 from AUTOMATIC1111/add-option-Live-preview-in-full-page-image-viewer

add option: Live preview in full page image viewer

* Merge pull request AUTOMATIC1111#14216 from wfjsw/state-dict-ref-comparison

change state dict comparison to ref compare

* Merge pull request AUTOMATIC1111#14237 from ReneKroon/dev

AUTOMATIC1111#13354 : solve lora loading issue

* Merge pull request AUTOMATIC1111#14307 from AUTOMATIC1111/default-Falst-js_live_preview_in_modal_lightbox

default False js_live_preview_in_modal_lightbox

* update to 1.7 from upstream

* Update README.md

* Update screenshot.png

* Update CITATION.cff

* update to latest version

* update to latest version

---------

Signed-off-by: storyicon <[email protected]>
Co-authored-by: Won-Kyu Park <[email protected]>
Co-authored-by: Gleb Alekseev <[email protected]>
Co-authored-by: missionfloyd <[email protected]>
Co-authored-by: AUTOMATIC1111 <[email protected]>
Co-authored-by: Khachatur Avanesian <[email protected]>
Co-authored-by: v0xie <[email protected]>
Co-authored-by: avantcontra <[email protected]>
Co-authored-by: David Benson <[email protected]>
Co-authored-by: Meerkov <[email protected]>
Co-authored-by: Emily Zeng <[email protected]>
Co-authored-by: w-e-w <[email protected]>
Co-authored-by: gibiee <[email protected]>
Co-authored-by: Ritesh Gangnani <riteshgangnani10>
Co-authored-by: GerryDE <[email protected]>
Co-authored-by: fuchen.ljl <[email protected]>
Co-authored-by: Alessandro de Oliveira Faria (A.K.A. CABELO) <[email protected]>
Co-authored-by: wfjsw <[email protected]>
Co-authored-by: aria1th <[email protected]>
Co-authored-by: Tom Haelbich <[email protected]>
Co-authored-by: kaalibro <[email protected]>
Co-authored-by: AngelBottomless <[email protected]>
Co-authored-by: Kieran Hunt <[email protected]>
Co-authored-by: Lucas Daniel Velazquez M <[email protected]>
Co-authored-by: Your Name <[email protected]>
Co-authored-by: storyicon <[email protected]>
Co-authored-by: Tom Haelbich <[email protected]>
Co-authored-by: hidenorly <[email protected]>
Co-authored-by: Aarni Koskela <[email protected]>
Co-authored-by: Charlie Joynt <[email protected]>
Co-authored-by: obsol <[email protected]>
Co-authored-by: Nuullll <[email protected]>
Co-authored-by: MrCheeze <[email protected]>
Co-authored-by: catboxanon <[email protected]>
Co-authored-by: illtellyoulater <[email protected]>
Co-authored-by: anapnoe <[email protected]>
ruchej pushed a commit to ruchej/stable-diffusion-webui that referenced this issue Sep 30, 2024
* AUTOMATIC1111#14122
Fix edge case where style text has multiple {prompt} placeholders
* AUTOMATIC1111#14005
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug-report Report of a bug, yet to be confirmed
Projects
None yet
Development

No branches or pull requests

1 participant