diff --git a/README.md b/README.md index fc6a5dac..55c08a24 100644 --- a/README.md +++ b/README.md @@ -1,14 +1,13 @@ -# Stable Diffusion UI -### The easiest way to install and use [Stable Diffusion](https://github.com/CompVis/stable-diffusion) on your own computer. Does not require technical knowledge, does not require pre-installed software. 1-click install, powerful features, friendly community. +# Easy Diffusion 2.5 +### The easiest way to install and use [Stable Diffusion](https://github.com/CompVis/stable-diffusion) on your own computer. -[![Discord Server](https://img.shields.io/discord/1014774730907209781?label=Discord)](https://discord.com/invite/u9yhsFmEkB) (for support, and development discussion) | [Troubleshooting guide for common problems](https://github.com/cmdr2/stable-diffusion-ui/wiki/Troubleshooting) +Does not require technical knowledge, does not require pre-installed software. 1-click install, powerful features, friendly community. -### New: -Experimental support for Stable Diffusion 2.0 is available in beta! +[Installation guide](#step-1-download-and-extract-the-installer) | [Troubleshooting guide](https://github.com/cmdr2/stable-diffusion-ui/wiki/Troubleshooting) | [![Discord Server](https://img.shields.io/discord/1014774730907209781?label=Discord)](https://discord.com/invite/u9yhsFmEkB) (for support queries, and development discussions) ----- +![t2i](https://raw.githubusercontent.com/Stability-AI/stablediffusion/main/assets/stable-samples/txt2img/768/merged-0006.png) -# Step 1: Download and prepare the installer +# Step 1: Download and extract the installer Click the download button for your operating system:
@@ -44,9 +43,18 @@ The installer will take care of whatever is needed. If you face any problems, yo ### User experience - **Hassle-free installation**: Does not require technical knowledge, does not require pre-installed software. Just download and run! - **Clutter-free UI**: A friendly and simple UI, while providing a lot of powerful features. +- **Task Queue**: Queue up all your ideas, without waiting for the current task to finish. +- **Intelligent Model Detection**: Automatically figures out the YAML config file to use for the chosen model (via a models database). +- **Live Preview**: See the image as the AI is drawing it. +- **Image Modifiers**: A library of *modifier tags* like *"Realistic"*, *"Pencil Sketch"*, *"ArtStation"* etc. Experiment with various styles quickly. +- **Multiple Prompts File**: Queue multiple prompts by entering one prompt per line, or by running a text file. +- **Save generated images to disk**: Save your images to your PC! +- **UI Themes**: Customize the program to your liking. +- **Organize your models into sub-folders** ### Image generation - **Supports**: "*Text to Image*" and "*Image to Image*". +- **14 Samplers**: `ddim`, `plms`, `heun`, `euler`, `euler_a`, `dpm2`, `dpm2_a`, `lms`, `dpm_solver_stability`, `dpmpp_2s_a`, `dpmpp_2m`, `dpmpp_sde`, `dpm_fast`, `dpm_adaptive` - **In-Painting**: Specify areas of your image to paint into. - **Simple Drawing Tool**: Draw basic images to guide the AI, without needing an external drawing program. - **Face Correction (GFPGAN)** @@ -56,7 +64,6 @@ The installer will take care of whatever is needed. If you face any problems, yo - **Attention/Emphasis**: () in the prompt increases the model's attention to enclosed words, and [] decreases it. - **Weighted Prompts**: Use weights for specific words in your prompt to change their importance, e.g. `red:2.4 dragon:1.2`. - **Prompt Matrix**: Quickly create multiple variations of your prompt, e.g. `a photograph of an astronaut riding a horse | illustration | cinematic lighting`. -- **Lots of Samplers**: ddim, plms, heun, euler, euler_a, dpm2, dpm2_a, lms. - **1-click Upscale/Face Correction**: Upscale or correct an image after it has been generated. - **Make Similar Images**: Click to generate multiple variations of a generated image. - **NSFW Setting**: A setting in the UI to control *NSFW content*. @@ -64,13 +71,15 @@ The installer will take care of whatever is needed. If you face any problems, yo ### Advanced features - **Custom Models**: Use your own `.ckpt` or `.safetensors` file, by placing it inside the `models/stable-diffusion` folder! -- **Stable Diffusion 2.0 support (experimental)**: available in beta channel. +- **Stable Diffusion 2.1 support** +- **Merge Models** - **Use custom VAE models** - **Use pre-trained Hypernetworks** - **UI Plugins**: Choose from a growing list of [community-generated UI plugins](https://github.com/cmdr2/stable-diffusion-ui/wiki/UI-Plugins), or write your own plugin to add features to the project! ### Performance and security -- **Low Memory Usage**: Creates 512x512 images with less than 4GB of GPU RAM! +- **Fast**: Creates a 512x512 image with euler_a in 5 seconds, on an NVIDIA 3060 12GB. +- **Low Memory Usage**: Create 512x512 images with less than 3 GB of GPU RAM, and 768x768 images with less than 4 GB of GPU RAM! - **Use CPU setting**: If you don't have a compatible graphics card, but still want to run it on your CPU. - **Multi-GPU support**: Automatically spreads your tasks across multiple GPUs (if available), for faster performance! - **Auto scan for malicious models**: Uses picklescan to prevent malicious models. @@ -78,23 +87,17 @@ The installer will take care of whatever is needed. If you face any problems, yo - **Auto-updater**: Gets you the latest improvements and bug-fixes to a rapidly evolving project. - **Developer Console**: A developer-mode for those who want to modify their Stable Diffusion code, and edit the conda environment. -### Usability: -- **Live Preview**: See the image as the AI is drawing it. -- **Task Queue**: Queue up all your ideas, without waiting for the current task to finish. -- **Image Modifiers**: A library of *modifier tags* like *"Realistic"*, *"Pencil Sketch"*, *"ArtStation"* etc. Experiment with various styles quickly. -- **Multiple Prompts File**: Queue multiple prompts by entering one prompt per line, or by running a text file. -- **Save generated images to disk**: Save your images to your PC! -- **UI Themes**: Customize the program to your liking. - **(and a lot more)** ---- ## Easy for new users: -![Screenshot of the initial UI](media/shot-v10-simple.jpg?raw=true) +![Screenshot of the initial UI](https://user-images.githubusercontent.com/844287/217043152-29454d15-0387-4228-b70d-9a4b84aeb8ba.png) + ## Powerful features for advanced users: -![Screenshot of advanced settings](media/shot-v10.jpg?raw=true) +![Screenshot of advanced settings](https://user-images.githubusercontent.com/844287/217042588-fc53c975-bacd-4a9c-af88-37408734ade3.png) + ## Live Preview Useful for judging (and stopping) an image quickly, without waiting for it to finish rendering. @@ -102,7 +105,9 @@ Useful for judging (and stopping) an image quickly, without waiting for it to fi ![live-512](https://user-images.githubusercontent.com/844287/192097249-729a0a1e-a677-485e-9ccc-16a9e848fabe.gif) ## Task Queue -![Screenshot of task queue](media/task-queue-v1.jpg?raw=true) +![Screenshot of task queue](https://user-images.githubusercontent.com/844287/217043984-0b35f73b-1318-47cb-9eed-a2a91b430490.png) + + # System Requirements 1. Windows 10/11, or Linux. Experimental support for Mac is coming soon. diff --git a/scripts/on_sd_start.bat b/scripts/on_sd_start.bat index e22d1c0e..5b778aa3 100644 --- a/scripts/on_sd_start.bat +++ b/scripts/on_sd_start.bat @@ -72,7 +72,7 @@ if "%ERRORLEVEL%" EQU "0" ( set PYTHONNOUSERSITE=1 set PYTHONPATH=%INSTALL_ENV_DIR%\lib\site-packages - call pip install --upgrade torch torchvision --extra-index-url https://download.pytorch.org/whl/cu116 || ( + call python -m pip install --upgrade torch torchvision --extra-index-url https://download.pytorch.org/whl/cu116 || ( echo "Error installing torch. Sorry about that, please try to:" & echo " 1. Run this installer again." & echo " 2. If that doesn't fix it, please try the common troubleshooting steps at https://github.com/cmdr2/stable-diffusion-ui/wiki/Troubleshooting" & echo " 3. If those steps don't help, please copy *all* the error messages in this window, and ask the community at https://discord.com/invite/u9yhsFmEkB" & echo " 4. If that doesn't solve the problem, please file an issue at https://github.com/cmdr2/stable-diffusion-ui/issues" & echo "Thanks!" pause exit /b @@ -92,7 +92,7 @@ if "%ERRORLEVEL%" EQU "0" ( set PYTHONNOUSERSITE=1 set PYTHONPATH=%INSTALL_ENV_DIR%\lib\site-packages - call pip install --upgrade sdkit -q || ( + call python -m pip install --upgrade sdkit -q || ( echo "Error updating sdkit" ) ) @@ -103,7 +103,7 @@ if "%ERRORLEVEL%" EQU "0" ( set PYTHONNOUSERSITE=1 set PYTHONPATH=%INSTALL_ENV_DIR%\lib\site-packages - call pip install sdkit || ( + call python -m pip install sdkit || ( echo "Error installing sdkit. Sorry about that, please try to:" & echo " 1. Run this installer again." & echo " 2. If that doesn't fix it, please try the common troubleshooting steps at https://github.com/cmdr2/stable-diffusion-ui/wiki/Troubleshooting" & echo " 3. If those steps don't help, please copy *all* the error messages in this window, and ask the community at https://discord.com/invite/u9yhsFmEkB" & echo " 4. If that doesn't solve the problem, please file an issue at https://github.com/cmdr2/stable-diffusion-ui/issues" & echo "Thanks!" pause exit /b @@ -113,7 +113,7 @@ if "%ERRORLEVEL%" EQU "0" ( call python -c "from importlib.metadata import version; print('sdkit version:', version('sdkit'))" @rem upgrade stable-diffusion-sdkit -call pip install --upgrade stable-diffusion-sdkit -q || ( +call python -m pip install --upgrade stable-diffusion-sdkit -q || ( echo "Error updating stable-diffusion-sdkit" ) call python -c "from importlib.metadata import version; print('stable-diffusion version:', version('stable-diffusion-sdkit'))" @@ -128,7 +128,7 @@ if "%ERRORLEVEL%" EQU "0" ( set PYTHONNOUSERSITE=1 set PYTHONPATH=%INSTALL_ENV_DIR%\lib\site-packages - call pip install rich || ( + call python -m pip install rich || ( echo "Error installing rich. Sorry about that, please try to:" & echo " 1. Run this installer again." & echo " 2. If that doesn't fix it, please try the common troubleshooting steps at https://github.com/cmdr2/stable-diffusion-ui/wiki/Troubleshooting" & echo " 3. If those steps don't help, please copy *all* the error messages in this window, and ask the community at https://discord.com/invite/u9yhsFmEkB" & echo " 4. If that doesn't solve the problem, please file an issue at https://github.com/cmdr2/stable-diffusion-ui/issues" & echo "Thanks!" pause exit /b diff --git a/scripts/on_sd_start.sh b/scripts/on_sd_start.sh index 46375a0c..c15af743 100755 --- a/scripts/on_sd_start.sh +++ b/scripts/on_sd_start.sh @@ -64,7 +64,7 @@ else export PYTHONNOUSERSITE=1 export PYTHONPATH="$INSTALL_ENV_DIR/lib/python3.8/site-packages" - if pip install --upgrade torch torchvision --extra-index-url https://download.pytorch.org/whl/cu116 ; then + if python -m pip install --upgrade torch torchvision --extra-index-url https://download.pytorch.org/whl/cu116 ; then echo "Installed." else fail "torch install failed" @@ -80,7 +80,7 @@ if python ../scripts/check_modules.py sdkit sdkit.models ldm transformers numpy export PYTHONNOUSERSITE=1 export PYTHONPATH="$INSTALL_ENV_DIR/lib/python3.8/site-packages" - pip install --upgrade sdkit -q + python -m pip install --upgrade sdkit -q fi else echo "Installing sdkit: https://pypi.org/project/sdkit/" @@ -88,7 +88,7 @@ else export PYTHONNOUSERSITE=1 export PYTHONPATH="$INSTALL_ENV_DIR/lib/python3.8/site-packages" - if pip install sdkit ; then + if python -m pip install sdkit ; then echo "Installed." else fail "sdkit install failed" @@ -98,7 +98,7 @@ fi python -c "from importlib.metadata import version; print('sdkit version:', version('sdkit'))" # upgrade stable-diffusion-sdkit -pip install --upgrade stable-diffusion-sdkit -q +python -m pip install --upgrade stable-diffusion-sdkit -q python -c "from importlib.metadata import version; print('stable-diffusion version:', version('stable-diffusion-sdkit'))" # install rich @@ -110,7 +110,7 @@ else export PYTHONNOUSERSITE=1 export PYTHONPATH="$INSTALL_ENV_DIR/lib/python3.8/site-packages" - if pip install rich ; then + if python -m pip install rich ; then echo "Installed." else fail "Install failed for rich"