diff --git a/CHANGELOG.md b/CHANGELOG.md index 0f902e48e..3a35770bb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,11 +1,13 @@ # Change Log for SD.Next -## Update for 2023-01-11 +## Update for 2023-01-12 -Following-up on a major release, here is a lot more functionality in new Control module and FaceID & IPAdapter modules -Plus welcome additions to UI accessibility and flexibility of deployment +Another release with a lot more functionality in new Control module and FaceID & IPAdapter modules +Plus welcome additions to UI performance and accessibility and flexibility of deployment And it also includes fixes for all reported issues so far +However, + - **Control**: - add **inpaint** support applies to both *img2img* and *controlnet* workflows @@ -65,13 +67,21 @@ And it also includes fixes for all reported issues so far this does not work with gradio-default themes as css is created by gradio itself - modularized blip/booru interrogate now appears as toolbuttons on image/gallery output + - faster browser page load + - cleanup hints + - cleanup settings - **server startup**: performance - reduced module imports ldm support is now only loaded when running in backend=original - faster extension load - faster json parsing - faster lora indexing - - lazy load optional imports + - lazy load optional imports + - **extra networks** + - 4x faster civitai metadata and previews lookup + - better display and selection of tags & trigger words + - better search + - reduce html overhead - **offline deployment**: allow deployment without git clone for example, you can now deploy a zip of the sdnext folder - **latent upscale**: updated latent upscalers (some are new) @@ -97,7 +107,7 @@ And it also includes fixes for all reported issues so far - major internal ui module refactoring this may cause compatibility issues if an extension is doing a direct import from `ui.py` in which case, report it so i can add a compatibility layer -- **Compile** +- **compile** - new option: **fused projections** pretty much free 5% performance boost for compatible models enable in settings -> compute settings @@ -124,7 +134,7 @@ And it also includes fixes for all reported issues so far OpenVINO is faster than IPEX now - reduce system memory usage after compile - fix cache loading with multiple models -- **Fixes** +- **fixes** - ipadapter: allow changing of model/image on-the-fly - ipadapter: fix fallback of cross-attention on unload - python: fix python 3.9 compatibility diff --git a/extensions-builtin/Lora/networks.py b/extensions-builtin/Lora/networks.py index d775ce14d..0453fb597 100644 --- a/extensions-builtin/Lora/networks.py +++ b/extensions-builtin/Lora/networks.py @@ -159,7 +159,7 @@ def load_networks(names, te_multipliers=None, unet_multipliers=None, dyn_dims=No failed_to_load_networks = [] recompile_model = False - if shared.compiled_model_state is not None and shared.compiled_model_state.is_compiled == True: + if shared.compiled_model_state is not None and shared.compiled_model_state.is_compiled: if len(names) == len(shared.compiled_model_state.lora_model): for i, name in enumerate(names): if shared.compiled_model_state.lora_model[i] != f"{name}:{te_multipliers[i] if te_multipliers else 1.0}": diff --git a/extensions-builtin/Lora/ui_extra_networks_lora.py b/extensions-builtin/Lora/ui_extra_networks_lora.py index 30eecfd9b..265fdbca3 100644 --- a/extensions-builtin/Lora/ui_extra_networks_lora.py +++ b/extensions-builtin/Lora/ui_extra_networks_lora.py @@ -55,38 +55,44 @@ class ExtraNetworksPageLora(ui_extra_networks.ExtraNetworksPage): words = [str(w).replace('.json', '') for w in words] if words[0] == '{}': words[0] = 0 - tag = ' '.join(words[1:]) + tag = ' '.join(words[1:]).lower() tags[tag] = words[0] - versions = info.get('modelVersions', []) # trigger words from info json - for v in versions: + + for v in info.get('modelVersions', []): # trigger words from info json possible_tags = v.get('trainedWords', []) if isinstance(possible_tags, list): - for tag in possible_tags: - if tag not in tags: - tags[tag] = 0 - search = {} + for tag_str in possible_tags: + for tag in tag_str.split(','): + tag = tag.strip().lower() + if tag not in tags: + tags[tag] = 0 + possible_tags = info.get('tags', []) # tags from info json if not isinstance(possible_tags, list): possible_tags = [v for v in possible_tags.values()] - for v in possible_tags: - search[v] = 0 - if len(list(tags)) == 0: - tags = search + for tag in possible_tags: + tag = tag.strip().lower() + if tag not in tags: + tags[tag] = 0 - bad_chars = [';', ':', '<', ">", "*", '?', '\'', '\"'] + bad_chars = [';', ':', '<', ">", "*", '?', '\'', '\"', '(', ')', '[', ']', '{', '}', '\\', '/'] clean_tags = {} for k, v in tags.items(): - tag = ''.join(i for i in k if not i in bad_chars) + tag = ''.join(i for i in k if not i in bad_chars).strip() clean_tags[tag] = v + clean_tags.pop('img', None) + clean_tags.pop('dataset', None) + item["info"] = info item["description"] = self.find_description(l.filename, info) # use existing info instead of double-read item["tags"] = clean_tags - item["search_term"] = f'{self.search_terms_from_path(l.filename)} {" ".join(tags.keys())} {" ".join(search.keys())}' return item except Exception as e: shared.log.debug(f"Extra networks error: type=lora file={name} {e}") + from modules import errors + errors.display('e', 'Lora') return None def list_items(self): diff --git a/extensions-builtin/sd-webui-controlnet b/extensions-builtin/sd-webui-controlnet index 6e649def2..d56f1b8bc 160000 --- a/extensions-builtin/sd-webui-controlnet +++ b/extensions-builtin/sd-webui-controlnet @@ -1 +1 @@ -Subproject commit 6e649def2bc4685cbfc3016af0bf215110f8e1e9 +Subproject commit d56f1b8bcb55df12bccbe36b7de66d476f23db1c diff --git a/html/locale_en.json b/html/locale_en.json index 04e8c4bc0..994d7a784 100644 --- a/html/locale_en.json +++ b/html/locale_en.json @@ -1,12 +1,4 @@ {"icons": [ - {"id":"","label":"📘","localized":"","hint":"Read parameters from last generated image"}, - {"id":"","label":"🚮","localized":"","hint":"Clear prompt"}, - {"id":"","label":"🌐","localized":"","hint":"Show/hide extra networks"}, - {"id":"","label":"⏩","localized":"","hint":"Apply selected styles to current prompt"}, - {"id":"","label":"⬇️","localized":"","hint":"Save parameters from last generated image as style template"}, - {"id":"","label":"🔄","localized":"","hint":"Refresh"}, - {"id":"","label":"🛗","localized":"","hint":"Close"}, - {"id":"","label":"⏫","localized":"","hint":"Fill"}, {"id":"","label":"🎲️","localized":"","hint":"Use random seed"}, {"id":"","label":"♻️","localized":"","hint":"Reuse previous seed"}, {"id":"","label":"⇅","localized":"","hint":"Swap values"}, @@ -36,11 +28,7 @@ "common keywords": [ {"id":"","label":"fp16","localized":"","hint":"Number representation in 16-bit floating point format"}, {"id":"","label":"fp32","localized":"","hint":"Number representation in 32-bit floating point format"}, - {"id":"","label":"bf16","localized":"","hint":"Number representation in alternative 16-bit floating point format"}, - {"id":"","label":"Run","localized":"","hint":""}, - {"id":"","label":"all","localized":"","hint":""}, - {"id":"","label":"none","localized":"","hint":""}, - {"id":"","label":"disabled","localized":"","hint":""} + {"id":"","label":"bf16","localized":"","hint":"Number representation in alternative 16-bit floating point format"} ], "tabs": [ {"id":"","label":"Text","localized":"","hint":"Create image from text"}, @@ -63,39 +51,21 @@ {"id":"","label":"Enqueue","localized":"","hint":"Add task to background queue in Agent Scheduler"}, {"id":"","label":"Stop","localized":"","hint":"Stop processing"}, {"id":"","label":"Skip","localized":"","hint":"Stop processing current job and continue processing"}, - {"id":"","label":"Interrupt","localized":"","hint":"Interrupt current processing job"}, {"id":"","label":"Pause","localized":"","hint":"Pause processing"}, {"id":"","label":"Restore","localized":"","hint":"Restore parameters from current prompt or last known generated image"}, {"id":"","label":"Clear","localized":"","hint":"Clear prompts"}, - {"id":"","label":"Networks","localized":"","hint":"Open extra network interface"}, - {"id":"","label":"Interrogate\nCLIP","localized":"","hint":"Run interrogate using CLIP model"}, - {"id":"","label":"Interrogate\nDeepBooru","localized":"","hint":"Run interrogate using DeepBooru model"} + {"id":"","label":"Networks","localized":"","hint":"Open extra network interface"} ], "extra networks": [ - {"id":"","label":"UI position","localized":"","hint":"Location of extra networks"}, + {"id":"","label":"ui position","localized":"","hint":"Location of extra networks"}, {"id":"","label":"cover","localized":"","hint":"cover full area"}, {"id":"","label":"inline","localized":"","hint":"inline with all additional elements (scrollable)"}, {"id":"","label":"sidebar","localized":"","hint":"sidebar on the right side of the screen"}, - {"id":"","label":"UI height (%)","localized":"","hint":""}, - {"id":"","label":"UI sidebar width (%)","localized":"","hint":""}, - {"id":"","label":"UI card preview lazy loading","localized":"","hint":""}, - {"id":"","label":"UI card size (px)","localized":"","hint":""}, - {"id":"","label":"UI disable variable aspect ratio","localized":"","hint":""}, - {"id":"","label":"UI image contain method","localized":"","hint":""}, - {"id":"","label":"Do not automatically build extra network pages","localized":"","hint":""}, - {"id":"","label":"Use LyCoris handler for all Lora types","localized":"","hint":""}, - {"id":"","label":"Use Kohya method for handling multiple LoRA","localized":"","hint":""}, {"id":"","label":"Default multiplier for extra networks","localized":"","hint":"When adding extra network such as Lora to prompt, use this multiplier for it"}, - {"id":"","label":"Add hypernetwork to prompt","localized":"","hint":""}, - {"id":"","label":"Add Lora to prompt","localized":"","hint":""}, - {"id":"","label":"shuffle tags by ',' when creating prompts.","localized":"","hint":""}, - {"id":"","label":"When adding to prompt, refer to Lora by","localized":"","hint":""}, - {"id":"","label":"add lora hashes to infotext","localized":"","hint":""}, {"id":"","label":"Model","localized":"","hint":"Trained model checkpoints"}, {"id":"","label":"Style","localized":"","hint":"Additional styles to be applied on selected generation paramters"}, {"id":"","label":"Styles","localized":"","hint":"Additional styles to be applied on selected generation paramters"}, {"id":"","label":"Lora","localized":"","hint":"LoRA: Low-Rank Adaptation. Fine-tuned model that is applied on top of a loaded model"}, - {"id":"","label":"LyCORIS","localized":"","hint":"LyCORIS: Lora beYond Conventional methods. Fine-tuned model that is applied on top of a loaded model"}, {"id":"","label":"Embedding","localized":"","hint":"Textual inversion embedding is a trained embedded information about the subject"}, {"id":"","label":"Hypernetwork","localized":"","hint":"Small trained neural network that modifies behavior of the loaded model"} ], @@ -108,7 +78,7 @@ {"id":"","label":"➠ image","localized":"","hint":"Transfer image to image interface"}, {"id":"","label":"➠ inpaint","localized":"","hint":"Transfer image to inpaint interface"}, {"id":"","label":"➠ sketch","localized":"","hint":"Transfer image to sketch interface"}, - {"id":"","label":"➠ inpaint sketch","localized":"","hint":"Transfer image to inpaint sketch interface"}, + {"id":"","label":"➠ composite","localized":"","hint":"Transfer image to inpaint sketch interface"}, {"id":"","label":"➠ process","localized":"","hint":"Transfer image to process interface"} ], "extensions": [ @@ -126,26 +96,17 @@ {"id":"","label":"install","localized":"","hint":"install this extension"}, {"id":"","label":"uninstall","localized":"","hint":"uninstall this extension"}, {"id":"","label":"User interface","localized":"","hint":"Review and set current values as default values for the user interface"}, - {"id":"","label":"View changes","localized":"","hint":"Review changes between default user interface values and current values"}, {"id":"","label":"Set new defaults","localized":"","hint":"Set current values as default values for the user interface"}, {"id":"","label":"Benchmark","localized":"","hint":"Run benchmarks"}, {"id":"","label":"Models & Networks","localized":"","hint":"View lists of all available models and networks"}, {"id":"","label":"Restore defaults","localized":"","hint":"Restore default user interface values"} ], "txt2img tab": [ - {"id":"","label":"Batch","localized":"","hint":"Additional batching options"}, - {"id":"","label":"Sampler","localized":"","hint":"Additional sampling options"}, - {"id":"","label":"Advanced","localized":"","hint":"Additional advanced options"}, {"id":"","label":"Sampling method","localized":"","hint":"Which algorithm to use to produce the image"}, {"id":"","label":"Sampling steps","localized":"","hint":"How many times to improve the generated image iteratively; higher values take longer; very low values can produce bad results"}, - {"id":"","label":"Sampler options","localized":"","hint":"Advanced sampler options"}, - {"id":"","label":"Sigma algorithm","localized":"","hint":"Algorithm to progress noise resolution on each sampler step"}, - {"id":"","label":"Restore faces","localized":"","hint":"Use a pre-trained model to correct the generated faces. See GFPGAN or Codeformer."}, {"id":"","label":"Tiling","localized":"","hint":"Produce an image that can be tiled"}, {"id":"","label":"full quality","localized":"","hint":"Use full quality VAE to decode latent samples"}, {"id":"","label":"face restore","localized":"","hint":"Run processed image through additional face restoration model"}, - {"id":"","label":"denoise","localized":"","hint":"Denoising details for img2img"}, - {"id":"","label":"remove background","localized":"","hint":"Run processed image through additional background removal model"}, {"id":"","label":"Enable second pass","localized":"","hint":"Use a similar process as image to image to upscale and/or add detail to the final image. Optionally uses refiner model to enhance image details."}, {"id":"","label":"Denoising strength","localized":"","hint":"Determines how little respect the algorithm should have for image's content. At 0, nothing will change, and at 1 you'll get an unrelated image. With values below 1.0, processing will take less steps than the Sampling Steps slider specifies"}, {"id":"","label":"Denoise start","localized":"","hint":"Override denoise strength by stating how early base model should finish and when refiner should start. Only applicable to refiner usage. If set to 0 or 1, denoising strength will be used"}, @@ -169,7 +130,6 @@ {"id":"","label":"cfg scale","localized":"","hint":"Classifier Free Guidance scale: how strongly the image should conform to prompt. Lower values produce more creative results, higher values make it follow the prompt more strictly; recommended values between 5-10"}, {"id":"","label":"CLIP skip","localized":"","hint":"Clip skip is a feature that allows users to control the level of specificity of the prompt, the higher the CLIP skip value, the less deep the prompt will be interpreted. CLIP Skip 1 is typical while some anime models produce better results at CLIP skip 2"}, {"id":"","label":"Initial seed","localized":"","hint":"A value that determines the output of random number generator - if you create an image with same parameters and seed as another image, you'll get the same result"}, - {"id":"","label":"Extra","localized":"","hint":"Show additional options"}, {"id":"","label":"Variation","localized":"","hint":"Second seed to be mixed with primary seed"}, {"id":"","label":"Variation strength","localized":"","hint":"How strong of a variation to produce. At 0, there will be no effect. At 1, you will get the complete picture with variation seed (except for ancestral samplers, where you will just get something)"}, {"id":"","label":"Resize seed from width","localized":"","hint":"Make an attempt to produce a picture similar to what would have been produced with same seed at specified resolution"}, @@ -200,66 +160,20 @@ {"id":"sett_reload_sd_model","label":"Reload checkpoint","localized":"","hint":"Reload currently selected model checkpoint"} ], "settings sections": [ - {"id":"","label":"execution & models","localized":"","hint":""}, - {"id":"","label":"Optimizations","localized":"","hint":""}, - {"id":"","label":"Compute Settings","localized":"","hint":""}, - {"id":"","label":"Diffusers Settings","localized":"","hint":""}, - {"id":"","label":"System Paths","localized":"","hint":""}, - {"id":"","label":"Image Options","localized":"","hint":""}, - {"id":"","label":"image naming & paths","localized":"","hint":""}, - {"id":"","label":"User Interface","localized":"","hint":""}, - {"id":"","label":"Live Previews","localized":"","hint":""}, - {"id":"","label":"Sampler Settings","localized":"","hint":""}, - {"id":"","label":"Postprocessing","localized":"","hint":""}, - {"id":"","label":"Training","localized":"","hint":""}, - {"id":"","label":"Interrogate","localized":"","hint":""}, - {"id":"","label":"Extra Networks","localized":"","hint":""}, {"id":"","label":"Licenses","localized":"","hint":"View licenses of all additional included libraries"}, - {"id":"","label":"Show all pages","localized":"","hint":"Show all settings pages"}, - {"id":"","label":"Request browser notifications","localized":"","hint":""} -], -"img2img tabs": [ - {"id":"","label":"Image","localized":"","hint":""}, - {"id":"","label":"Sketch","localized":"","hint":""}, - {"id":"","label":"Inpaint","localized":"","hint":""}, - {"id":"","label":"Inpaint sketch","localized":"","hint":""}, - {"id":"","label":"Inpaint upload","localized":"","hint":""} + {"id":"","label":"Show all pages","localized":"","hint":"Show all settings pages"} ], "img2img tab": [ - {"id":"","label":"Inpaint batch input directory","localized":"","hint":""}, - {"id":"","label":"Inpaint batch output directory","localized":"","hint":""}, - {"id":"","label":"Inpaint batch mask directory","localized":"","hint":""}, {"id":"","label":"Fixed","localized":"","hint":"Resize image to target resolution. Unless height and width match, you will get incorrect aspect ratio"}, {"id":"","label":"Crop","localized":"","hint":"Resize the image so that entirety of target resolution is filled with the image. Crop parts that stick out"}, {"id":"","label":"Fill","localized":"","hint":"Resize the image so that entirety of image is inside target resolution. Fill empty space with image's colors"}, - {"id":"","label":"Latent","localized":"","hint":""}, {"id":"","label":"Mask blur","localized":"","hint":"How much to blur the mask before processing, in pixels"}, - {"id":"","label":"Mask transparency","localized":"","hint":""}, - {"id":"","label":"Inpaint masked","localized":"","hint":""}, - {"id":"","label":"Inpaint not masked","localized":"","hint":""}, - {"id":"","label":"fill","localized":"","hint":"fill"}, {"id":"","label":"original","localized":"","hint":"keep whatever was there originally"}, {"id":"","label":"latent noise","localized":"","hint":"fill it with latent space noise"}, - {"id":"","label":"latent nothing","localized":"","hint":"fill it with latent space zeroes"}, - {"id":"","label":"Whole picture","localized":"","hint":""}, - {"id":"","label":"Only masked","localized":"","hint":""}, - {"id":"","label":"Masked padding","localized":"","hint":""}, - {"id":"","label":"Scale","localized":"","hint":""}, - {"id":"","label":"Unused","localized":"","hint":""}, - {"id":"","label":"Image CFG scale","localized":"","hint":""} + {"id":"","label":"latent nothing","localized":"","hint":"fill it with latent space zeroes"} ], "models tabs": [ - {"id":"","label":"Convert","localized":"","hint":""}, - {"id":"","label":"Merge","localized":"","hint":""}, - {"id":"","label":"Validate","localized":"","hint":""}, - {"id":"","label":"List model details","localized":"","hint":""}, {"id":"","label":"Calculate hash for all models","localized":"","hint":"Calculates hash for all available models which may take a very long time"}, - {"id":"","label":"search models","localized":"","hint":""}, - {"id":"","label":"select model","localized":"","hint":""}, - {"id":"","label":"specify model variant","localized":"","hint":""}, - {"id":"","label":"specify model revision","localized":"","hint":""}, - {"id":"","label":"huggingface token","localized":"","hint":""}, - {"id":"","label":"huggingface mirror","localized":"","hint":""}, {"id":"","label":"Weights Clip","localized":"","hint":"Forced merged weights to be no heavier than the original model, preventing burn in and overly saturated models"}, {"id":"","label":"ReBasin","localized":"","hint":"Performs multiple merges with permutations in order to keep more features from both models"}, {"id":"","label":"Number of ReBasin Iterations","localized":"","hint":"Number of times to merge and permute the model before saving"}, @@ -272,130 +186,26 @@ {"id":"","label":"Out Block","localized":"","hint":"Upsampling Blocks of the UNet (12 values for SD1.5, 9 values for SDXL)"}, {"id":"","label":"Preset Interpolation Ratio","localized":"","hint":"If two presets are selected, interpolate between them"} ], -"train tabs": [ - {"id":"","label":"Preprocess","localized":"","hint":""}, - {"id":"","label":"Preprocess images","localized":"","hint":""}, - {"id":"","label":"Train embedding","localized":"","hint":""}, - {"id":"","label":"Train hypernetwork","localized":"","hint":""}, - {"id":"","label":"Create embedding","localized":"","hint":""}, - {"id":"","label":"Create hypernetwork","localized":"","hint":""} -], "train tab": [ - {"id":"","label":"Primary model","localized":"","hint":""}, - {"id":"","label":"Secondary model","localized":"","hint":""}, - {"id":"","label":"Tertiary model","localized":"","hint":""}, - {"id":"","label":"New model name","localized":"","hint":""}, - {"id":"","label":"No interpolation","localized":"","hint":"Requires one model. No interpolation will be used, allows for format conversion and VAE baking"}, - {"id":"","label":"Weighted sum","localized":"","hint":"Requires two models. Weighted sum will be used for interpolation, result is calculated as A * (1 - M) + B * M"}, - {"id":"","label":"Add difference","localized":"","hint":"Requires three models. Difference between the last two models will be added to the first, result is calculated as A + (B - C) * M"}, - {"id":"","label":"Interpolation ratio from Primary to Secondary","localized":"","hint":""}, - {"id":"","label":"ckpt","localized":"","hint":""}, - {"id":"","label":"safetensors","localized":"","hint":""}, - {"id":"","label":"Save metadata","localized":"","hint":""}, - {"id":"","label":"Primary","localized":"","hint":""}, - {"id":"","label":"Secondary","localized":"","hint":""}, - {"id":"","label":"Tertiary","localized":"","hint":""}, - {"id":"","label":"Bake in VAE","localized":"","hint":""}, - {"id":"","label":"Discard weights with matching name","localized":"","hint":"Regular expression; if weight's name matches it, the weights are not written to the resulting checkpoint. Use ^model_ema to discard EMA weights"}, - {"id":"","label":"Name","localized":"","hint":""}, {"id":"","label":"Initialization text","localized":"","hint":"If the number of tokens is more than the number of vectors, some may be skipped.\nLeave the textbox empty to start with zeroed out vectors"}, - {"id":"","label":"Number of vectors per token","localized":"","hint":""}, - {"id":"","label":"Overwrite Old Embedding","localized":"","hint":""}, - {"id":"","label":"Enter hypernetwork layer structure","localized":"","hint":""}, {"id":"","label":"Select activation function of hypernetwork","localized":"","hint":"Recommended : Swish / Linear(none)"}, {"id":"","label":"Select Layer weights initialization","localized":"","hint":"Recommended: Kaiming for relu-like, Xavier for sigmoid-like, Normal otherwise"}, - {"id":"","label":"Add layer normalization","localized":"","hint":""}, - {"id":"","label":"Use dropout","localized":"","hint":""}, {"id":"","label":"Enter hypernetwork Dropout structure","localized":"","hint":"Recommended : leave empty or 0~0.35 incrementing sequence: 0, 0.05, 0.15"}, - {"id":"","label":"Overwrite Old Hypernetwork","localized":"","hint":""}, - {"id":"","label":"Source directory","localized":"","hint":""}, - {"id":"","label":"Destination directory","localized":"","hint":""}, - {"id":"","label":"Existing caption text action","localized":"","hint":""}, - {"id":"","label":"Keep original size","localized":"","hint":""}, - {"id":"","label":"Keep original image channels","localized":"","hint":""}, - {"id":"","label":"Create flipped copies","localized":"","hint":""}, - {"id":"","label":"Split oversized images","localized":"","hint":""}, - {"id":"","label":"Auto focal point crop","localized":"","hint":""}, - {"id":"","label":"Auto-sized crop","localized":"","hint":""}, - {"id":"","label":"Create captions only","localized":"","hint":""}, - {"id":"","label":"Create BLIP captions","localized":"","hint":""}, - {"id":"","label":"Create Deepbooru captions","localized":"","hint":""}, - {"id":"","label":"Split image threshold","localized":"","hint":""}, - {"id":"","label":"Split image overlap ratio","localized":"","hint":""}, - {"id":"","label":"Focal point face weight","localized":"","hint":""}, - {"id":"","label":"Focal point entropy weight","localized":"","hint":""}, - {"id":"","label":"Focal point edges weight","localized":"","hint":""}, - {"id":"","label":"Create debug image","localized":"","hint":""}, - {"id":"","label":"Dimension lower bound","localized":"","hint":""}, - {"id":"","label":"Dimension upper bound","localized":"","hint":""}, - {"id":"","label":"Area lower bound","localized":"","hint":""}, - {"id":"","label":"Area upper bound","localized":"","hint":""}, - {"id":"","label":"Maximize area","localized":"","hint":""}, - {"id":"","label":"Minimize error","localized":"","hint":""}, - {"id":"","label":"Error threshold","localized":"","hint":""}, - {"id":"","label":"Hypernetwork","localized":"","hint":""}, - {"id":"","label":"Embedding Learning rate","localized":"","hint":""}, - {"id":"","label":"Hypernetwork Learning rate","localized":"","hint":""}, - {"id":"","label":"Gradient Clipping","localized":"","hint":""}, - {"id":"","label":"Gradient accumulation steps","localized":"","hint":""}, - {"id":"","label":"Dataset directory","localized":"","hint":""}, - {"id":"","label":"Log directory","localized":"","hint":""}, - {"id":"","label":"Prompt template","localized":"","hint":""}, - {"id":"","label":"Do not resize images","localized":"","hint":""}, - {"id":"","label":"Max steps","localized":"","hint":""}, {"id":"","label":"Create interim images","localized":"","hint":"Save an image to log directory every N steps, 0 to disable"}, {"id":"","label":"Create interim embeddings","localized":"","hint":"Save a copy of embedding to log directory every N steps, 0 to disable"}, - {"id":"","label":"Use PNG alpha channel as loss weight","localized":"","hint":""}, - {"id":"","label":"Save images with embedding in PNG chunks","localized":"","hint":""}, {"id":"","label":"Use current settings for previews","localized":"","hint":"Read parameters (prompt, etc...) from txt2img tab when making previews"}, - {"id":"","label":"Shuffle tags","localized":"","hint":"Shuffle tags by ',' when creating prompts"}, - {"id":"","label":"Drop out tags when creating prompts","localized":"","hint":""}, - {"id":"","label":"once","localized":"","hint":""}, - {"id":"","label":"deterministic","localized":"","hint":""}, - {"id":"","label":"select embedding","localized":"","hint":""}, - {"id":"","label":"create embedding","localized":"","hint":""}, - {"id":"","label":"gradient clip value","localized":"","hint":""}, - {"id":"","label":"create interim hypernetworks","localized":"","hint":""}, - {"id":"","label":"Original model","localized":"","hint":""} + {"id":"","label":"Shuffle tags","localized":"","hint":"Shuffle tags by ',' when creating prompts"} ], "settings": [ {"id":"","label":"base model","localized":"","hint":"Main model used for all operations"}, {"id":"","label":"refiner model","localized":"","hint":"Refiner model used for second-pass operations"}, - {"id":"","label":"model autoload on server start","localized":"","hint":""}, - {"id":"","label":"use baseline data from a different model","localized":"","hint":""}, - {"id":"","label":"Disallow usage of models in ckpt format","localized":"","hint":""}, - {"id":"","label":"model compile fullgraph","localized":"","hint":""}, - {"id":"","label":"create zip archive when downloading multiple images","localized":"","hint":""}, - {"id":"","label":"samplers solver order where applicable","localized":"","hint":""}, - {"id":"","label":"samplers use karras sigmas where applicable","localized":"","hint":""}, - {"id":"","label":"samplers use simplified solvers in final steps where applicable","localized":"","hint":""}, - {"id":"","label":"samplers use dynamic thresholding where applicable","localized":"","hint":""}, - {"id":"","label":"Number of cached models","localized":"","hint":"The amount of models to store in RAM for quick access"}, - {"id":"","label":"Number of cached VAEs","localized":"","hint":"The amount of VAE files to store in RAM for quick access"}, + {"id":"","label":"Cached models","localized":"","hint":"The number of models to store in RAM for quick access"}, + {"id":"","label":"Cached VAEs","localized":"","hint":"The number of VAE files to store in RAM for quick access"}, {"id":"","label":"VAE model","localized":"","hint":"VAE helps with fine details in the final image and may also alter colors"}, - {"id":"","label":"Enable splitting of hires batch processing","localized":"","hint":"Reduces VRAM usage when using hires fix on batches of images"}, {"id":"","label":"Load models using stream loading method","localized":"","hint":"When loading models attempt stream loading optimized for slow or network storage"}, - {"id":"","label":"When loading models attempt to reuse previous model dictionary","localized":"","hint":""}, - {"id":"","label":"Disabled","localized":"","hint":""}, {"id":"","label":"xFormers","localized":"","hint":"Memory optimization. Non-Deterministic (different results each time)"}, {"id":"","label":"Scaled-Dot-Product","localized":"","hint":"Memory optimization. Non-Deterministic unless SDP memory attention is disabled."}, - {"id":"","label":"Doggettx's","localized":"","hint":""}, - {"id":"","label":"InvokeAI's","localized":"","hint":""}, - {"id":"","label":"Sub-quadratic","localized":"","hint":""}, - {"id":"","label":"Split attention","localized":"","hint":""}, - {"id":"","label":"xFormers enable flash Attention","localized":"","hint":""}, - {"id":"","label":"SDP disable memory attention","localized":"","hint":""}, - {"id":"","label":"cross-attention query chunk size","localized":"","hint":""}, - {"id":"","label":"cross-attention kv chunk size","localized":"","hint":""}, - {"id":"","label":"cross-attention chunking threshold","localized":"","hint":""}, - {"id":"","label":"Full parser","localized":"","hint":""}, - {"id":"","label":"Compel parser","localized":"","hint":""}, - {"id":"","label":"A1111 parser","localized":"","hint":""}, - {"id":"","label":"Fixed attention","localized":"","hint":""}, - {"id":"","label":"Prompt attention mean normalization","localized":"","hint":""}, - {"id":"","label":"Disable conditional batching enabled on low memory systems","localized":"","hint":""}, - {"id":"","label":"Enable samplers quantization for sharper and cleaner results","localized":"","hint":""}, - {"id":"","label":"Prompt padding for long prompts","localized":"","hint":"Increase coherency by padding from the last comma within n tokens when using more than 75 tokens"}, + {"id":"","label":"Prompt padding","localized":"","hint":"Increase coherency by padding from the last comma within n tokens when using more than 75 tokens"}, {"id":"","label":"Original","localized":"","hint":"Original LDM backend"}, {"id":"","label":"Diffusers","localized":"","hint":"Diffusers backend"}, {"id":"","label":"Autocast","localized":"","hint":"Automatically determine precision during runtime"}, @@ -403,275 +213,67 @@ {"id":"","label":"FP32","localized":"","hint":"Use 32-bit floating point precision for calculations"}, {"id":"","label":"FP16","localized":"","hint":"Use 16-bit floating point precision for calculations"}, {"id":"","label":"BF16","localized":"","hint":"Use modified 16-bit floating point precision for calculations"}, - {"id":"","label":"Use full precision for model (--no-half)","localized":"","hint":"Uses FP32 for the model. May produce better results while using more VRAM and slower generation"}, - {"id":"","label":"Use full precision for VAE (--no-half-vae)","localized":"","hint":"Uses FP32 for the VAE. May produce better results while using more VRAM and slower generation"}, - {"id":"","label":"Enable upcast sampling","localized":"","hint":"Usually produces similar results to --no-half with better performance while using less memory"}, - {"id":"","label":"Enable upcast cross attention layer","localized":"","hint":""}, - {"id":"","label":"Disable NaN check in produced images/latent spaces","localized":"","hint":""}, - {"id":"","label":"Attempt VAE roll back when produced NaN values","localized":"","hint":"Requires Torch 2.1 and NaN check enabled"}, - {"id":"","label":"Use channels last as torch memory format","localized":"","hint":""}, - {"id":"","label":"Enable full-depth cuDNN benchmark feature","localized":"","hint":""}, - {"id":"","label":"Enable model compile","localized":"","hint":""}, - {"id":"","label":"inductor","localized":"","hint":""}, - {"id":"","label":"cudagraphs","localized":"","hint":""}, - {"id":"","label":"aot_ts_nvfuser","localized":"","hint":""}, - {"id":"","label":"hidet","localized":"","hint":""}, - {"id":"","label":"ipex","localized":"","hint":""}, - {"id":"","label":"Model compile verbose mode","localized":"","hint":""}, - {"id":"","label":"Model compile suppress errors","localized":"","hint":""}, - {"id":"","label":"Directory for temporary images; leave empty for default","localized":"","hint":""}, - {"id":"","label":"Enable IPEX Optimize for Intel GPUs","localized":"","hint":""}, - {"id":"","label":"Cleanup non-default temporary directory when starting webui","localized":"","hint":""}, - {"id":"","label":"Folder with stable diffusion models","localized":"","hint":""}, - {"id":"","label":"Folder with stable diffusion diffusers","localized":"","hint":""}, - {"id":"","label":"Folder with VAE files","localized":"","hint":""}, - {"id":"","label":"Folder with textual inversion embeddings","localized":"","hint":""}, - {"id":"","label":"Folder with Hypernetwork models","localized":"","hint":""}, - {"id":"","label":"Folder with codeformer Folder","localized":"","hint":""}, - {"id":"","label":"Folder with GFPGAN models","localized":"","hint":""}, - {"id":"","label":"Folder with ESRGAN models","localized":"","hint":""}, - {"id":"","label":"Folder with BSRGAN models","localized":"","hint":""}, - {"id":"","label":"Folder with RealESRGAN models","localized":"","hint":""}, - {"id":"","label":"Folder with SCUNet models","localized":"","hint":""}, - {"id":"","label":"Folder with SwinIR models","localized":"","hint":""}, - {"id":"","label":"Folder with LDSR models","localized":"","hint":""}, - {"id":"","label":"Folder with CLIP models","localized":"","hint":""}, - {"id":"","label":"Folder with Lora networks","localized":"","hint":""}, - {"id":"","label":"Folder with LyCORIS networks","localized":"","hint":""}, - {"id":"","label":"Path to user-defined styles file","localized":"","hint":""}, - {"id":"","label":"Always save all generated images","localized":"","hint":""}, - {"id":"","label":"File format for generated images","localized":"","hint":"Select file format for images"}, - {"id":"","label":"Include metadata in saved images","localized":"","hint":"Save image create parameters as metadata tags inside image file"}, + {"id":"","label":"Full precision for model (--no-half)","localized":"","hint":"Uses FP32 for the model. May produce better results while using more VRAM and slower generation"}, + {"id":"","label":"Full precision for VAE (--no-half-vae)","localized":"","hint":"Uses FP32 for the VAE. May produce better results while using more VRAM and slower generation"}, + {"id":"","label":"Upcast sampling","localized":"","hint":"Usually produces similar results to --no-half with better performance while using less memory"}, + {"id":"","label":"Attempt VAE roll back for NaN values","localized":"","hint":"Requires Torch 2.1 and NaN check enabled"}, + {"id":"","label":"File format","localized":"","hint":"Select file format for images"}, + {"id":"","label":"Include metadata","localized":"","hint":"Save image create parameters as metadata tags inside image file"}, {"id":"","label":"Images filename pattern","localized":"","hint":"Use following tags to define how filenames for images are chosen:
seq, uuid
date, datetime, job_timestamp
generation_number, batch_number
model, model_shortname
model_hash, model_name
sampler, seed, steps, cfg
clip_skip, denoising
hasprompt, prompt, styles
prompt_hash, prompt_no_styles
prompt_spaces, prompt_words
height, width, image_hash
"}, - {"id":"","label":"Add number to filename when saving","localized":"","hint":""}, - {"id":"","label":"Always save all generated image grids","localized":"","hint":""}, - {"id":"","label":"File format for grids","localized":"","hint":""}, - {"id":"","label":"Add extended info (seed, prompt) to filename when saving grid","localized":"","hint":""}, - {"id":"","label":"Grid row count","localized":"","hint":"Use -1 for autodetect and 0 for it to be same as batch size"}, - {"id":"","label":"Create info file for each every image","localized":"","hint":""}, - {"id":"","label":"Create JSON log file for each saved image","localized":"","hint":"Save image information to a JSON file"}, - {"id":"","label":"Save copy of image before doing face restoration","localized":"","hint":""}, - {"id":"","label":"Save copy of image before applying hires","localized":"","hint":""}, - {"id":"","label":"Save copy of image before applying color correction","localized":"","hint":""}, - {"id":"","label":"Save copy of the inpainting greyscale mask","localized":"","hint":""}, - {"id":"","label":"Save copy of inpainting masked composite","localized":"","hint":""}, - {"id":"","label":"Save copy of img2img init images","localized":"","hint":""}, - {"id":"","label":"Quality for saved jpeg images","localized":"","hint":""}, - {"id":"","label":"Use lossless compression for webp images","localized":"","hint":""}, - {"id":"","label":"Maximum allowed image size in megapixels","localized":"","hint":""}, - {"id":"","label":"Use original name for output filename during batch process","localized":"","hint":""}, - {"id":"","label":"Use upscaler name as filename suffix in the extras tab","localized":"","hint":""}, - {"id":"","label":"When using 'Save' button, only save a single selected image","localized":"","hint":""}, - {"id":"","label":"Save images to a subdirectory","localized":"","hint":""}, - {"id":"","label":"Save grids to a subdirectory","localized":"","hint":""}, - {"id":"","label":"Save images to a subdirectory when using Save button","localized":"","hint":""}, + {"id":"","label":"Row count","localized":"","hint":"Use -1 for autodetect and 0 for it to be same as batch size"}, + {"id":"","label":"Update JSON log file per image","localized":"","hint":"Save image information to a JSON file"}, {"id":"","label":"Directory name pattern","localized":"","hint":"Use following tags to define how subdirectories for images and grids are chosen: [steps], [cfg],[prompt_hash], [prompt], [prompt_no_styles], [prompt_spaces], [width], [height], [styles], [sampler], [seed], [model_hash], [model_name], [prompt_words], [date], [datetime], [datetime], [datetime