remove backend original

Signed-off-by: Vladimir Mandic <mandic00@live.com>
Vladimir Mandic
2025-07-05 13:16:18 -04:00
parent d65f5e8148
commit 274986e960
10 changed files with 21 additions and 52 deletions
-2
@@ -35,8 +35,6 @@ Basic tests using UI:
while others cannot *(e.g. HyperTile + ToMe)*
- Results may differ on different GPU/CPU combinations
For example, pairing better CPU with older GPU may benefit from more processing done on CPU and leaving GPU to do only core ML tasks while paring high-end GPU with older CPU may result in lower results since CPU cannot feed enough tasks to GPU
- Diffusers perform significantly better than original backend on modern hardware since tasks remain on GPU for longer time
Equally, original backend may perform better on older hardware
- Running quick tasks such as single image generate at low steps may not be sufficient to fully saturate high-end GPU so results will be lower
- xFormers have a slight performance advantage over SDP
However, SDP is a built-in in Torch and "just works" while xFormers needs manual install and its highly version dependent
-2
@@ -9,7 +9,6 @@
> webui --help
Configuration:
--backend {original,diffusers} force model pipeline type
--config CONFIG Use specific server configuration file, default: config.json
--ui-config UI_CONFIG Use specific UI configuration file, default: ui-config.json
--medvram Split model stages and keep only active part in VRAM, default: False
@@ -92,7 +91,6 @@
- `--config`: Specify the server configuration file. This option allows you to use a specific server configuration file. The default is set to `<path to data>/config.json`. You can customize this by providing a different file path or by setting the environment variable `SD_CONFIG`.
- `--ui-config`: Specify the UI configuration file. This option allows you to use a specific UI configuration file. The default is set to `<path to data>/ui-config.json`. You can customize this by providing a different file path or by setting the environment variable `SD_UICONFIG`.
- `--autolaunch`: Open the UI URL in the system's default browser upon launch. Enabling this flag (`True`) automatically opens the UI URL in the system's default browser upon launch. The default is `False`, and you can set it to `True` using the environment variable `SD_AUTOLAUNCH`.
- `--backend`: Force model pipeline type. Enabling this option allows you to force a specific model pipeline type. The choices are ['original', 'diffusers']. The default is `Original`, and you can set a custom backend by providing the argument value or by setting the environment variable `SD_BACKEND`.
- `--upgrade`: Upgrade the main repository to the latest version. Use this option when you want to ensure that you are using the most recent version of the application. Enabling this flag (`True`) upgrades the main repository to the latest version. The default is `False`, and you can set it to `True` using the environment variable `SD_UPGRADE`.
**This is relatively safe to use with master branch. Dev branch is another story, be wary.**
- `--debug`: Run SDNext with debug logging to the console. Enabling this flag (`True`) runs SDNext with debug logging. The default is `False`, and you can set it to `True` using the environment variable `SD_DEBUG`.
+1 -1
@@ -122,6 +122,6 @@ Note below there are 2 other buttons, Inpainting and Outpainting, below.
## ControlNet+
At the very bottom of the Control page, we have what you've all been waiting for, full ControlNet! I do mean full too, we have it all!
This includes SD and SD-XL. at last! You won't ever need the ControlNet extension ever again, much less to touch the original LDM backend.
This includes SD and SD-XL. at last! You won't ever need the ControlNet extension ever again.
This will take a bit more work to document example workflows, but there are tooltips, and if you've used ControlNet before, you shouldn't have any problems! However if you do, hop on by our Discord server and we're happy to help.
+9 -10
@@ -138,7 +138,7 @@ Note below there are 2 other buttons, Inpainting and Outpainting, below.
### ControlNet+
At the very bottom of the Control page, we have what you've all been waiting for, full ControlNet! I do mean full too, we have it all!
This includes SD and SD-XL. at last! You won't ever need the ControlNet extension ever again, much less to touch the original LDM backend.
This includes SD and SD-XL. at last! You won't ever need the ControlNet extension ever again.
This will take a bit more work to document example workflows, but there are tooltips, and if you've used ControlNet before, you shouldn't have any problems! However if you do, hop on by our Discord server and we're happy to help.
@@ -185,15 +185,14 @@ As they have the same name, we recommend doing them one at a time and then renam
## Usage
1. Make sure to use the **Diffusers** backend in SDNext, **Original** backend will **NOT WORK**
2. Load your preferred SD 1.5 or SD-XL model that you want to use LCM with
3. Load the correct **LCM lora** (**lcm-lora-sdv1-5 or lcm-lora-sdxl**) into your prompt, ex: `<lora:lcm-lora-sdv1-5:1>`
4. Set your **sampler** to **LCM**
5. Set number of steps to a low number, e.g. **4-6 steps** for SD 1.5, **2-8 steps** for SD-XL
6. Set your **CFG Scale to 1 or 2** (or somewhere between, play with it for best quality)
7. Optionally, turning on **Hypertile and/or FreeU** will greatly increase speed and quality of output images
8. ???
9. Generate!
1. Load your preferred SD 1.5 or SD-XL model that you want to use LCM with
2. Load the correct **LCM lora** (**lcm-lora-sdv1-5 or lcm-lora-sdxl**) into your prompt, ex: `<lora:lcm-lora-sdv1-5:1>`
3. Set your **sampler** to **LCM**
4. Set number of steps to a low number, e.g. **4-6 steps** for SD 1.5, **2-8 steps** for SD-XL
5. Set your **CFG Scale to 1 or 2** (or somewhere between, play with it for best quality)
6. Optionally, turning on **Hypertile and/or FreeU** will greatly increase speed and quality of output images
7. ???
8. Generate!
## Notes
+1 -2
@@ -94,8 +94,7 @@ If you want to understand more how Stable Diffusion works
- [Diffusion Pipeline: How it Works](SD-Pipeline-How-it-Works)
- [List of Training Methods](SD-Training-Methods)
And two available backend modes in SD.Next: [Diffusers & Original](Backend)
As well as an advanced [Profiling](Profiling) how-to
And dig deep with advanced [Profiling](Profiling) how-to
## Step 4: Contribute
+1 -17
@@ -6,7 +6,7 @@ Hi folks, it's your (moderately) friendly neighborhood Aptronym here!
People are always asking me how to get the most **it/s** out of their GPUs, now... this is a complicated subject due to the current GPU landscape, the wide range of GPUs that can do stable diffusion just within each manufacturer, going back years (nvidia 1080s, 1050s, or RX500 series), as well as varying and often limited amounts of VRAM, possibly inside of a laptop.
That's not even counting the complicated selection of inference platforms SDNext has available, everything from plain everyday CUDA to Onnxruntime/Olive, and now ZLUDA, as well as our two built-in backends, Original and Diffusers.
That's not even counting the complicated selection of inference platforms SDNext has available, everything from plain everyday CUDA and ROCm to Onnxruntime/Olive, and now ZLUDA.
I can't promise you'll be able to use all of these options, I can't promise they won't crash your instance (or be buggy for that matter), that's going to vary wildly from GPU, OS, RAM, VRAM, current chosen inference platform, and backend, and some of these options will not work together, or at all, on some platforms. You will have to test that yourselves, but we are hoping to build a matrix of sorts showing what is available and what works with what, but that's going to take some user testing and feedback.
@@ -14,22 +14,6 @@ If you help us by providing feedback (issues w/logs, screenshots, etc.), which w
Just as an added ray of sunshine to give you hope, there are plans in motion to create a more self-optimizing system that will not only configure itself for optimal performance based on your setup, but also react to what you're doing, what model you have loaded (SD15 v. SDXL is a huge difference), and specified preferences, so that it is always as performant as possible while sacrificing minimal quality loss. We would welcome any assistance with this, recently-laid-off-due-to-AI developers (Curse you Devin!) or any developers, or people with coding experience, at all.
## Backends
Let's start with the simplest thing, your chosen backend. I know there are some Original mode holdouts, that are clinging on to it for various reasons (I was one myself for months), sometimes simply due to being ignorant of the fact that the Diffusers backend can do SD 1.5 models as well as SDXL and the others.
So let me put that to rest once and for all:
**You need to be using Diffusers**
It is not only now the default on installation, it is faster and better with your precious VRAM usage, as well as being the only backend where future enhancements and features will take place. Wean yourself off of Original, as you are missing out on a lot of functionality, scripts, and features. I know you may have some precious extension that only works in Original, but we have a lot built in now that you may not have noticed.
If the extension is so important to have, then pop by on discord and let me know what it is and explain why. We've added features for less, so if it's a good thing to include, or if we can't already do it to some degree, we'll take a look at it and consider it fairly. If you can't present a good use case, your chances are lower (visual aids help too).
All of that being said, Original mode is going to be retired at some point in the near future, there really just aren't any benefits to keeping it around other than more work for our small development team and contributors.
**One more time, USE DIFFUSERS!**
## Compute Settings
*Note: Changing any of the settings on this page will require you to, at the least, unload the model and then reload it (after hitting apply!), as these settings are applied on model load, not in realtime.*
-5
@@ -97,11 +97,6 @@ Know your model: different models were trained on different datasets, some may u
**Advanced Prompt Modifiers**
For original backend only:
- Alternate between words: `[word1|word2]` will alternate between `word1` and `word2` in every denoising step, blending the two concepts
- Switch words during denoising: `[word1:word2:0.3]` will use `word1` for the first 30% of steps, then change it to `word2`
- Force include multiple objects "AND"
**Hints**
- Use either artists or movements
+2 -3
@@ -99,8 +99,7 @@ You should be good to go, Enjoy the huge performance boost!
## Using SD-XL
* To use SD-XL, first SD.Next needs to be in Diffusers mode, not Original, select it from the Backend radio buttons.
* Then select Stable Diffusion XL from the Pipeline dropdown.
* Then select Autodetect or Stable Diffusion XL from the Pipeline dropdown.
* Next select the sd_xl_base_1.0.safetensors file from the Checkpoint dropdown.
* (optional) Finally select the sd_xl_refiner_1.0.safetensors file from the Refiner dropdown.
@@ -128,5 +127,5 @@ If `refiner start` is set to any other value, then handover mode is used:
In this mode, using different ratio of steps for primary and refiner is allowed, but may result in unexpected results as base and refiner operations will not be perfectly aligned.
Note on steps vs timesteps. In all workflows (even with original backend and SD 1.5 models), steps do not refer directly do operations internally executed. Steps are used to calculate actual values at which operations will be executed. For example, steps=6 roughly means execute denoising at 0% -> 20% -> 40% -> 60% -> 80% -> 100%.
Note on steps vs timesteps: steps do not refer directly do operations internally executed. Steps are used to calculate actual values at which operations will be executed. For example, steps=6 roughly means execute denoising at 0% -> 20% -> 40% -> 60% -> 80% -> 100%.
For that reason, specifying steps above 99 is meaningless.
+6 -8
@@ -13,15 +13,13 @@ As they have the same name, we recommend doing them one at a time and then renam
## Usage
1. Make sure to use the **Diffusers** backend in SDNext, **Original** backend will **NOT WORK**
2. Load your preferred SD 1.5 or SD-XL model that you want to use LCM with
3. Load the correct **LCM lora** (**lcm-lora-sdv1-5 or lcm-lora-sdxl**) into your prompt, ex: `<lora:lcm-lora-sdv1-5:1>`
1. Load your preferred SD 1.5 or SD-XL model that you want to use LCM with
2. Load the correct **LCM lora** (**lcm-lora-sdv1-5 or lcm-lora-sdxl**) into your prompt, ex: `<lora:lcm-lora-sdv1-5:1>`
4. Set your **sampler** to **LCM**
5. Set number of steps to a low number, e.g. **4-6 steps** for SD 1.5, **2-8 steps** for SD-XL
6. Set your **CFG Scale to 1 or 2** (or somewhere between, play with it for best quality)
7. Optionally, turning on **Hypertile and/or FreeU** will greatly increase speed and quality of output images
8. ???
9. Generate!
4. Set number of steps to a low number, e.g. **4-6 steps** for SD 1.5, **2-8 steps** for SD-XL
5. Set your **CFG Scale to 1 or 2** (or somewhere between, play with it for best quality)
6. Optionally, turning on **Hypertile and/or FreeU** will greatly increase speed and quality of output images
7. Generate!
## Notes
+1 -2
@@ -94,8 +94,7 @@ If you want to understand more how Stable Diffusion works
- [Diffusion Pipeline: How it Works](SD-Pipeline-How-it-Works)
- [List of Training Methods](SD-Training-Methods)
And two available backend modes in SD.Next: [Diffusers & Original](Backend)
As well as an advanced [Profiling](Profiling) how-to
And dig deep with advanced [Profiling](Profiling) how-to
## Step 4: Contribute