SD.Next: Advanced Implementation of Stable Diffusion
 
 
 
 
Go to file
Vladimir Mandic 20b64aad7b update samplers 2023-04-24 16:16:52 -04:00
.github Create FUNDING.yml 2023-04-21 16:15:31 -04:00
.vscode add theme support 2023-04-16 08:49:27 -04:00
cli enable quick launch 2023-04-15 11:51:58 -04:00
configs Merge pull request #32 from AUTOMATIC1111/master 2023-01-30 09:38:12 -05:00
extensions add placeholders 2023-01-06 12:15:25 -05:00
extensions-builtin update argparse 2023-04-24 10:56:49 -04:00
html fix urls 2023-04-16 21:51:11 -04:00
javascript increase timeout 2023-04-24 12:34:49 -04:00
models add vae-approx 2023-04-16 22:06:05 -04:00
modules update samplers 2023-04-24 16:16:52 -04:00
repositories add placeholders 2023-01-06 12:15:25 -05:00
scripts Merge branch 'master' into xyz-plot-dropdown-vladmandic 2023-04-24 10:26:05 +08:00
train/templates update 2023-01-19 01:26:22 -05:00
wiki@066ea609f6 update repos 2023-04-19 14:11:45 -04:00
.gitignore jump patch 2023-04-20 11:20:27 -04:00
.gitmodules remove model-keyword 2023-04-16 07:42:16 -04:00
.markdownlint.json lycoris, strong linting, model keyword, circular imports 2023-04-15 10:28:31 -04:00
.pylintrc add setup auto-recover 2023-04-17 09:53:53 -04:00
LICENSE.txt add license file 2023-01-15 09:24:48 +03:00
README.md update setup to deal with extensions preload 2023-04-22 11:23:17 -04:00
TODO.md add token merging and vae rollback 2023-04-24 12:05:21 -04:00
automatic.ico add icon and background 2023-03-17 11:41:53 -04:00
automatic.png add icon and background 2023-03-17 11:41:53 -04:00
automatic.svg change startup order and refresh ui 2023-03-16 15:35:10 -04:00
launch.py update 2023-04-22 13:33:11 -04:00
requirements.txt combo patch 2023-04-24 10:30:23 -04:00
script.js Update script.js 2023-04-03 04:53:29 +02:00
setup.py update samplers 2023-04-24 16:16:52 -04:00
style.css Merge pull request #231 from muerrilla/dropdown-dup-fix 2023-04-21 09:30:16 -04:00
webui.bat switch cmdflags to settings 2023-04-12 10:40:11 -04:00
webui.py update samplers 2023-04-24 16:16:52 -04:00
webui.sh update webui.sh 2023-04-21 09:59:50 -04:00

README.md

Last Commit License GitHub Status Checks

Stable Diffusion - Automatic

Heavily opinionated custom fork of https://github.com/AUTOMATIC1111/stable-diffusion-webui

Fork is as close as up-to-date with origin as time allows
All code changes are merged upstream whenever possible

The idea behind the fork is to enable latest technologies and advances in text-to-image generation
Sometimes this is not the same as "as simple as possible to use"
If you are looking an amazing simple-to-use Stable Diffusion tool, I'd suggest InvokeAI specifically due to its automated installer and ease of use


Follow Development updates for daily updates on new features/fixes


screenshot


Notes

Fork does differ in few things

  • New installer
  • Advanced CUDA tuning
    Available in UI Settings
  • Advanced environment tuning
  • Optimized startup and models lazy-loading
  • Built-in performance profiler
  • Updated libraries to latest known compatible versions
  • Includes opinionated System and Options configuration
  • Does not rely on Accelerate as it only affects distributed systems
    Gradio web server will be initialized much earlier which model load is done in the background
    Faster model loading plus ability to fallback on corrupt models
  • Uses simplified folder structure
    e.g. /train, /outputs/*, /models/*, etc.
  • Enhanced training templates
  • Built-in LoRA, LyCORIS, Custom Diffusion, Dreambooth training
  • Majority of settings configurable via UI without the need for command line flags
    e.g, cross-optimization methods, system folders, etc.
  • New logger
  • New error and exception handlers

Optimizations

  • Optimized for Torch 2.0
  • Runs with SDP memory attention enabled by default if supported by system
    Note: xFormers and other cross-optimization methods are still available
  • Auto-adjust parameters when running on CPU or CUDA
    Note: AMD and M1 platforms are supported, but without out-of-the-box optimizations

Integrated Extensions

Hand-picked list of extensions that are deeply integrated into core workflows:

User Interface

  • Includes updated UI: reskinned and reorganized
    Black and orange dark theme with fixed width options panels and larger previews
  • Includes support for Gradio themes
    Settings -> User interface -> UI theme
    Link to themes list & previews: https://huggingface.co/spaces/gradio/theme-gallery

Removed

  • Drops compatibility with older versions of python and requires 3.9 or 3.10
  • Drops localizations

Integrated CLI/API tools

Fork adds extra functionality:

  • New skin and UI layout
  • Ships with set of CLI tools that rely on SD API for execution:
    e.g. generate, train, bench, etc.
    Full list

Install

  1. Install first:
    Python & Git
  2. If you have nVidia GPU, install nVidia CUDA toolkit:
    https://developer.nvidia.com/cuda-downloads
  3. Clone repository
    git clone https://github.com/vladmandic/automatic

Run

Run desired startup script to install dependencies and extensions and start server:

  • webui.bat and webui.sh:
    Platform specific wrapper scripts For Windows, Linux and OSX
    Starts launch.py in a Python virtual environment (venv)
    Note: Server can run without virtual environment, but it is recommended to use it to avoid library version conflicts with other applications
    If you're unsure which launcher to use, this is the one you want
  • launch.py:
    Main startup script
    Can be used directly to start server in a manually activated venv or to run server without venv
  • setup.py:
    Main installer, used by launch.py
    Can also be used directly to update repository or extensions
    If running manually, make sure to activate venv first (if used)
  • webui.py:
    Main server script

Any of the above scripts can be used with --help to display detailed usage information and available parameters
For example:

webui.bat --help

Full startup sequence is logged in setup.log, so if you encounter any issues, please check it first

Update

The launcher can perform automatic update of main repository, requirements, extensions and submodules:

  • Main repository:
    Update is not performed by default, enable with --upgrade flag
  • Requirements:
    Check is performed on each startup and missing requirements are auto-installed
    Can be skipped with --skip-requirements flag
  • Extensions and submodules:
    Update is performed on each startup and installer for each extension is started
    Can be skipped with --skip-extensions flag
  • Quick mode: Automatically enabled if timestamp of last sucessful setup is newer than actual repository version or version of newest extension

Other

Scripts

This repository comes with a large collection of scripts that can be used to process inputs, train, generate, and benchmark models
As well as number of auxiliary scripts that do not rely on WebUI, but can be used for end-to-end solutions such as extract frames from videos, etc.
For full details see Docs


Docs