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

update dev #2354

Merged
merged 16 commits into from
Oct 19, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 30 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,35 @@
# Change Log for SD.Next

## Update for 2023-10-18

Service release addressing all zero-day issues reported so far...

**Fixes**
- fix freeu for backend original and add it to xyz grid
- fix loading diffuser models in huggingface format from non-standard location
- fix default styles looking in wrong location
- fix missing upscaler folder on initial startup
- fix handling of relative path for models
- fix simple live preview device mismatch
- fix batch img2img
- fix diffusers dpm++ 2m and 1s samplers
- fix new style filename template
- fix image name template using model name
- fix model path using relative path
- fix torch-rocm version detection (thanks @xangelix)
- force second requirements check on startup
- remove lyco, multiple_tqdm
- enhance extension compatibility for exensions directly importing codeformers
- enhance extension compatibility for exensions directly accessing processing params
- update `openvino` (thanks @disty0)
- update `typing-extensions`

**Themes**
- all built-in themes are fully supported:
- *black-teal (default), light-teal, black-orange, invoked, amethyst-nightfall, midnight-barbie*
- if you're using any **gradio default** themes or a **3rd party** theme or that are not optimized for SD.Next, you may experience issues
default minimal style has been updated for compatibility, but actual styling is completely outside of SD.Next control

## Update for 2023-10-17

This is a major release, with many changes and new functionality...
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -175,7 +175,7 @@ General goals:
### **Sponsors**

<div align="center">
<!-- sponsors --><a href="https://github.com/allangrant"><img src="https://github.com/allangrant.png" width="60px" alt="Allan Grant" /></a><a href="https://github.com/demib72"><img src="https://github.com/demib72.png" width="60px" alt="Michael Harris" /></a><a href="https://github.com/BrentOzar"><img src="https://github.com/BrentOzar.png" width="60px" alt="Brent Ozar" /></a><a href="https://github.com/AimwiseTonix"><img src="https://github.com/AimwiseTonix.png" width="60px" alt="ToniX" /></a><a href="https://github.com/inktomi"><img src="https://github.com/inktomi.png" width="60px" alt="Matthew Runo" /></a><a href="https://github.com/HELLO-WORLD-SAS"><img src="https://github.com/HELLO-WORLD-SAS.png" width="60px" alt="HELLO WORLD SAS" /></a><a href="https://github.com/4joeknight4"><img src="https://github.com/4joeknight4.png" width="60px" alt="" /></a><a href="https://github.com/SaladTechnologies"><img src="https://github.com/SaladTechnologies.png" width="60px" alt="Salad Technologies" /></a><a href="https://github.com/gymdreams8"><img src="https://github.com/gymdreams8.png" width="60px" alt="Gym Dreams • GymDreams8" /></a><!-- sponsors -->
<!-- sponsors --><a href="https://github.com/allangrant"><img src="https://github.com/allangrant.png" width="60px" alt="Allan Grant" /></a><a href="https://github.com/demib72"><img src="https://github.com/demib72.png" width="60px" alt="Michael Harris" /></a><a href="https://github.com/BrentOzar"><img src="https://github.com/BrentOzar.png" width="60px" alt="Brent Ozar" /></a><a href="https://github.com/AimwiseTonix"><img src="https://github.com/AimwiseTonix.png" width="60px" alt="ToniX" /></a><a href="https://github.com/inktomi"><img src="https://github.com/inktomi.png" width="60px" alt="Matthew Runo" /></a><a href="https://github.com/HELLO-WORLD-SAS"><img src="https://github.com/HELLO-WORLD-SAS.png" width="60px" alt="HELLO WORLD SAS" /></a><a href="https://github.com/4joeknight4"><img src="https://github.com/4joeknight4.png" width="60px" alt="" /></a><a href="https://github.com/SaladTechnologies"><img src="https://github.com/SaladTechnologies.png" width="60px" alt="Salad Technologies" /></a><a href="https://github.com/gymdreams8"><img src="https://github.com/gymdreams8.png" width="60px" alt="Gym Dreams • GymDreams8" /></a><a href="https://github.com/anothertal3"><img src="https://github.com/anothertal3.png" width="60px" alt="" /></a><!-- sponsors -->
</div>

<br>
Binary file added beautiful girl sitting on an edge of a.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
9 changes: 7 additions & 2 deletions extensions-builtin/Lora/networks.py
Original file line number Diff line number Diff line change
Expand Up @@ -374,8 +374,13 @@ def list_available_networks():
available_network_hash_lookup.clear()
forbidden_network_aliases.update({"none": 1, "Addams": 1})
os.makedirs(shared.cmd_opts.lora_dir, exist_ok=True)
candidates = list(shared.walk_files(shared.cmd_opts.lora_dir, allowed_extensions=[".pt", ".ckpt", ".safetensors"]))
candidates += list(shared.walk_files(shared.cmd_opts.lyco_dir, allowed_extensions=[".pt", ".ckpt", ".safetensors"]))
candidates = []
if os.path.exists(shared.cmd_opts.lora_dir):
candidates += list(shared.walk_files(shared.cmd_opts.lora_dir, allowed_extensions=[".pt", ".ckpt", ".safetensors"]))
else:
shared.log.warning('LoRA directory not found: path={shared.cmd_opts.lora_dir}')
if os.path.exists(shared.cmd_opts.lyco_dir):
candidates += list(shared.walk_files(shared.cmd_opts.lyco_dir, allowed_extensions=[".pt", ".ckpt", ".safetensors"]))
for filename in candidates:
if os.path.isdir(filename):
continue
Expand Down
44 changes: 18 additions & 26 deletions html/locale_en.json
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@
{"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":"Apply","localized":"","hint":"Apply parameters from last known generated image"},
{"id":"","label":"Restore","localized":"","hint":"Restore parameters from 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"},
Expand All @@ -79,26 +79,23 @@
{"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":"Multiplier for extra networks","localized":"","hint":"When adding extra network such as Hypernetwork or Lora to prompt, use this multiplier for it"},
{"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":"Checkpoints","localized":"","hint":"Trained model checkpoints"},
{"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":"Textual Inversion","localized":"","hint":"Textual inversion embedding is a trained embedded information about the subject"},
{"id":"","label":"Hypernetworks","localized":"","hint":"Small trained neural network that modifies behavior of the loaded model"},
{"id":"","label":"Save preview","localized":"","hint":"Save current image as extra network preview"},
{"id":"","label":"Save description","localized":"","hint":"Save current text as extra network description"},
{"id":"","label":"Read description","localized":"","hint":"Read stored extra network description"}
{"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"}
],
"gallery buttons": [
{"id":"","label":"show","localized":"","hint":"Show image location"},
{"id":"","label":"save","localized":"","hint":"Save image"},
{"id":"","label":"zip","localized":"","hint":"Create zip archive from images"},
{"id":"","label":"delete","localized":"","hint":"Delete image"},
{"id":"","label":"replace","localized":"","hint":"Replace image"},
{"id":"","label":"➠ text","localized":"","hint":"Transfer image to text interface"},
Expand All @@ -118,8 +115,8 @@
{"id":"","label":"Specific branch name","localized":"","hint":"Specify extension branch name, leave blank for default"},
{"id":"","label":"Local directory name","localized":"","hint":"Directory where to install extension, leave blank for default"},
{"id":"","label":"Refresh extension list","localized":"","hint":"Refresh list of available extensions"},
{"id":"","label":"Update installed extensions","localized":"","hint":"Update installed extensions to their latest available version"},
{"id":"","label":"Apply changes & restart server","localized":"","hint":"Apply all changes and restart server"},
{"id":"","label":"Update all installed","localized":"","hint":"Update installed extensions to their latest available version"},
{"id":"","label":"Apply changes","localized":"","hint":"Apply all changes and restart server"},
{"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"},
Expand All @@ -135,13 +132,15 @@
{"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":"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":"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"},
{"id":"","label":"Hires steps","localized":"","hint":"Number of sampling steps for upscaled picture. If 0, uses same as for original"},
Expand All @@ -163,7 +162,7 @@
{"id":"","label":"Batch size","localized":"","hint":"How many image to create in a single batch (increases generation performance at cost of higher VRAM usage)"},
{"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":"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":"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 seed","localized":"","hint":"Seed of a different picture to be mixed into the generation"},
{"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)"},
Expand All @@ -183,10 +182,7 @@
{"id":"","label":"Resize","localized":"","hint":"Resizing details. Higher resolutions require additional processing memory."},
{"id":"","label":"Crop to fit","localized":"","hint":"If the dimensions of your source image (e.g. 512x510) deviate from your target dimensions (e.g. 1024x768) this function will fit your upscaled image into your target size image. Excess will be cropped"},
{"id":"","label":"Secondary Upscaler","localized":"","hint":"Select secondary upscaler to run after initial upscaler"},
{"id":"","label":"Upscaler 2 visibility","localized":"","hint":"Strength of the secondary upscaler"},
{"id":"","label":"GFPGAN visibility","localized":"","hint":"Strength of GFPGAN face restore network, 0=disabled"},
{"id":"","label":"CodeFormer visibility","localized":"","hint":"Strength of CodeFormer face restore network, 0=disabled"},
{"id":"","label":"CodeFormer weight","localized":"","hint":"0=maximum strength, 1=minimum strength"}
{"id":"","label":"Upscaler 2 visibility","localized":"","hint":"Strength of the secondary upscaler"}
],
"settings menu": [
{"id":"settings_submit","label":"Apply settings","localized":"","hint":"Save current settings, server restart is recommended"},
Expand Down Expand Up @@ -251,7 +247,7 @@
{"id":"","label":"Merge","localized":"","hint":""},
{"id":"","label":"Validate","localized":"","hint":""},
{"id":"","label":"List model details","localized":"","hint":""},
{"id":"","label":"Calculate hash for all models (may take a long time)","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":""},
Expand Down Expand Up @@ -492,8 +488,8 @@
{"id":"","label":"Path to notification sound","localized":"","hint":""},
{"id":"","label":"Live preview display period","localized":"","hint":""},
{"id":"","label":"Full VAE","localized":"","hint":""},
{"id":"","label":"Approximate NN","localized":"","hint":"Cheap neural network approximation. Very fast compared to VAE, but produces pictures with 4 times smaller horizontal/vertical resolution and lower quality"},
{"id":"","label":"Approximate simple","localized":"","hint":"Very cheap approximation. Very fast compared to VAE, but produces pictures with 8 times smaller horizontal/vertical resolution and extremely low quality"},
{"id":"","label":"Approximate","localized":"","hint":"Cheap neural network approximation. Very fast compared to VAE, but produces pictures with 4 times smaller horizontal/vertical resolution and lower quality"},
{"id":"","label":"Simple","localized":"","hint":"Very cheap approximation. Very fast compared to VAE, but produces pictures with 8 times smaller horizontal/vertical resolution and extremely low quality"},
{"id":"","label":"TAESD","localized":"","hint":""},
{"id":"","label":"Combined","localized":"","hint":""},
{"id":"","label":"Progress update period","localized":"","hint":"Update period for UI progress bar and preview checks, in miliseconds"},
Expand Down Expand Up @@ -546,8 +542,6 @@
{"id":"","label":"Filename word regex","localized":"","hint":"This regular expression will be used extract words from filename, and they will be joined using the option below into label text used for training. Leave empty to keep filename text as it is"},
{"id":"","label":"Filename join string","localized":"","hint":"This string will be used to join split words into a single line if the option above is enabled"},
{"id":"","label":"Embeddings train templates directory","localized":"","hint":""},
{"id":"","label":"Number of repeats for a single input image per epoch","localized":"","hint":"Used only for displaying epoch number"},
{"id":"","label":"Save CSV file containing the loss to log directory","localized":"","hint":"Save CSV file containing the loss to log directory every N steps, 0 to disable"},
{"id":"","label":"Enable tensorboard logging","localized":"","hint":""},
{"id":"","label":"Save generated images within tensorboard","localized":"","hint":""},
{"id":"","label":"Tensorboard flush period","localized":"","hint":"How often, in seconds, to flush the pending Tensorboard events and summaries to disk"},
Expand All @@ -567,10 +561,8 @@
{"id":"","label":"Escape brackets in deepbooru","localized":"","hint":"Escape (\\) brackets in deepbooru so they are used as literal brackets and not for emphasis"},
{"id":"","label":"Filter out tags from deepbooru output","localized":"","hint":"Filter out those tags from deepbooru output (separated by comma)"},
{"id":"","label":"Default upscaler for image resize operations","localized":"","hint":""},
{"id":"","label":"Tile size for ESRGAN upscalers","localized":"","hint":"0 = no tiling"},
{"id":"","label":"Tile overlap in pixels for ESRGAN upscalers","localized":"","hint":"Low values = visible seam"},
{"id":"","label":"Tile size for SCUNET upscalers","localized":"","hint":"0 = no tiling"},
{"id":"","label":"Tile overlap for SCUNET upscalers","localized":"","hint":" Low values = visible seam"},
{"id":"","label":"Upscaler tile size","localized":"","hint":"0 = no tiling"},
{"id":"","label":"Upscaler tile overlap","localized":"","hint":"Low values = visible seam"},
{"id":"","label":"Do not fix prompt schedule for second order samplers","localized":"","hint":""},
{"id":"","label":"CodeFormer","localized":"","hint":""},
{"id":"","label":"GFPGAN","localized":"","hint":"Restore low quality faces using GFPGAN neural network"},
Expand Down
Loading
Loading