Commit Graph

400 Commits

Author SHA1 Message Date
cmdr2
eabe4cf58c sdkit 1.0.50 - fix typo 2023-03-21 18:47:25 +05:30
cmdr2
f8bc50871a sdkit 1.0.49; Use a test_diffusers flag to gate access to the new renderer and LoRA model selection 2023-03-21 17:59:20 +05:30
cmdr2
8aead029a8 temp fix for installations that installed torch 2.0 by mistake 2023-03-17 13:33:13 +05:30
cmdr2
a9da65c2cd Temp fix for macOS installations that installed torch 2.0 by mistake, when torch 2 released yesterday 2023-03-17 13:27:44 +05:30
cmdr2
0324deec60 Use CUDA-specific torch only on Linux, not mac 2023-03-17 13:20:37 +05:30
cmdr2
28338612fa Pin versions: torch 1.13.1 and torchvision 0.14.1, and update stable-diffusion-sdkit which also pins the torch and torchvision versions for macOS 2023-03-17 10:07:22 +05:30
cmdr2
5dd92b1d3f sdkit 1.0.47 - mps buffer fix 2023-03-11 10:40:45 +05:30
cmdr2
7548f7cdbb revert mps buffer fix 2023-03-11 10:27:57 +05:30
cmdr2
44da3d26f3 sdkit 1.0.45 - fix buffers used for mac mps 2023-03-11 10:24:01 +05:30
cmdr2
b6efa71efc
Merge pull request #981 from cmdr2/main
Main
2023-03-09 17:57:37 +05:30
cmdr2
fbeecda38c
Merge pull request #963 from JeLuF/patch-18
Remove AVX check
2023-03-08 13:37:59 +05:30
cmdr2
737a81570a
Merge pull request #975 from michaelgallacher/beta
Add support for MPS when running on Apple silicon
2023-03-08 10:00:10 +05:30
cmdr2
32d8f4d24b sdkit 1.0.44 - mps support for mac 2023-03-08 09:57:45 +05:30
Michael Gallacher
11265c4034 Add support for MPS when running on Apple silicon
Changes:

* autodetect if MPS is available and the pytorch version has MPS support.
* change logic from "is the device CPU?" to "is the device not CUDA?".
* set PYTORCH_ENABLE_MPS_FALLBACK=1

Known issues:

* Some samplers (eg DDIM) will fail on MPS unless forced to CPU-only mode
2023-03-07 14:57:37 -07:00
cmdr2
1384c2f1bc Keep bootstrap.bat in the repo, until the new installer releases. However it won't be copied or used after installation. 2023-03-07 21:17:04 +05:30
cmdr2
459b9428d4 Remove bootstrap.bat, since it's only needed during installation (and the current installer contains it, and this installer will soon be phased out) 2023-03-07 21:16:05 +05:30
JeLuF
88e3831bc6
Remove AVX check
https://discord.com/channels/1014774730907209781/1064237509913084087/1064237509913084087
2023-03-05 00:13:07 +01:00
cmdr2
2a597fcad7 Single-file installer - Include all the dependencies from an installed folder; Download the default models using the NSCurl plugin 2023-03-04 18:02:30 +05:30
cmdr2
5e2f31e3bf Merge branch 'main' into beta 2023-03-02 10:15:51 +05:30
cmdr2
91c4b5865c Pin the sdkit version during fresh installs 2023-02-21 10:40:17 +05:30
JeLuF
5e1e198a1f Copy SSL DLLs
Prevent the 'SSL module is not available' error message
2023-02-20 23:02:27 +01:00
cmdr2
4f8424c544 sdkit 1.0.43 - unipc samplers on any device, not just cuda 2023-02-20 19:31:47 +05:30
cmdr2
9970e505de sdkit version 1.0.42 - WEBP format support 2023-02-20 18:43:39 +05:30
JeLuF
0ccacd5eca 🔥 Installer: Fix ESRGAN anime model's path
The size check fails on every installation. The path name of the check wasn't changed when the model was moved to the models directory.
2023-02-20 18:40:13 +05:30
cmdr2
facfed07fe sdkit 1.0.41 - NSFW filter 2023-02-20 08:44:26 +05:30
JeLuF
6a2c2152e2
🔥 Installer: Fix ESRGAN anime model's path
The size check fails on every installation. The path name of the check wasn't changed when the model was moved to the models directory.
2023-02-18 14:05:55 +01:00
cmdr2
b43f9fc4ee Upgrade stable-diffusion-sdkit to 2.1.3, to use transformers 4.26.1 2023-02-18 14:30:37 +05:30
cmdr2
51b6a2fd2a Pin the version of stable-diffusion-sdkit used, to avoid untested releases from getting used 2023-02-18 14:21:24 +05:30
cmdr2
5fffb82b16 Pin the version of stable-diffusion-sdkit used, to avoid untested releases from getting used 2023-02-18 14:17:28 +05:30
cmdr2
23f9bcb38b Upgrade sdkit, moving the experimental parser into a plugin 2023-02-17 15:22:59 +05:30
cmdr2
7fc46f3672 sdkit 1.0.39 - unipc samplers 2023-02-17 09:36:10 +05:30
cmdr2
3d3994bbad sdkit 1.0.38 - experimental parser, requires the prompt to start with an exclamation mark 2023-02-16 21:01:33 +05:30
cmdr2
16905a8999
Merge pull request #888 from JeLuF/macos2
No /proc/cpuinfo on MacOS
2023-02-16 19:29:42 +05:30
cmdr2
9fb5cac5d4 Bypass incorrect ERRORLEVEL values in nested code blocks by using something called delayedexpansion. Ugh 2023-02-16 19:21:51 +05:30
JeLuF
5d3b59b94e No /proc/cpuinfo on MacOS
Check whether /proc/cpuinfo exists before checking for AVX support
2023-02-15 21:15:55 +01:00
cmdr2
744c6e4725 sdkit 1.0.37 2023-02-15 21:40:02 +05:30
JeLuF
2df4286256 Change SDUI to Easy Diffusion 2023-02-14 09:05:23 +01:00
Jens Frank
b89f689ea3 Fix functions.sh upgrade, change messages to Easy Diffusion 2023-02-14 09:00:02 +01:00
JeLuF
d3f42e47a7
Fix typo in cp functions.sh 2023-02-13 14:33:34 +01:00
JeLuF
e3e43913ab
Linux Installer fixes (#867)
Copy functions.sh from git repo as well
Remove duplicate 'Press any key' call
2023-02-13 09:02:31 +05:30
JeLuF
8465bc1bc9 Changes to make things work on MacOS/x64 2023-02-10 22:34:52 +01:00
cmdr2
ad249c4651 sdkit 1.0.36, for the image metadata embedding change 2023-02-10 18:09:23 +05:30
cmdr2
071a4d6f37 Use a fixed sdkit version, to avoid bumping to the latest sdkit version in the main branch 2023-02-10 18:05:17 +05:30
cmdr2
5f2fb19d71 Use a fixed sdkit version, to avoid bumping to the latest sdkit version in the main branch 2023-02-10 18:04:43 +05:30
cmdr2
a517255653
Merge pull request #784 from JeLuF/no-src
Warn when running installer from git checkout
2023-02-10 17:20:10 +05:30
cmdr2
8386cd5cf7
Merge pull request #817 from fernandoisnaldo/patch-1
Fix aarch64 (arm64) verification
2023-02-09 19:24:13 +05:30
JeLuF
4c8da67bb1
Use "python -m pip" instead of "pip" (#835)
* Use "python -m pip" instead of "pip"

https://discord.com/channels/1014774730907209781/1072423234676461619

* Use "python -m" instead of "pip" (Linux=
2023-02-07 15:39:02 +05:30
cmdr2
5c6c2303ba Why does this script file keep losing exec permission? 2023-02-06 20:05:40 +05:30
cmdr2
a0a58bcfa8
Merge branch 'main' into beta 2023-02-06 19:42:24 +05:30
cmdr2
86dc08130b typo 2023-02-06 16:47:48 +05:30
cmdr2
5cd8a732c7 grammar 2023-02-06 16:29:46 +05:30
Fernando Isnaldo Silva de Faria
b7047dafb2
Fix aarch64 (arm64) verification 2023-02-03 16:36:49 -03:00
JeLuF
409ec61be2 Fail fatally, add same check on Linux, add some extra checks on Linux
Linux: Check that curl, bzip2, tar are available, check whether there's a space character in the install path, check whether the CPU supports AVX.
2023-01-19 00:40:20 +01:00
JeLuF
79d112ca7b Warn when running installer from git checkout 2023-01-18 00:11:23 +01:00
cmdr2
493526c478 If downgrading to 2.4 (from 2.5), move the default models back to the legacy location 2022-12-29 13:00:57 +05:30
Jens Sülwald
ad07aeb041 Restore download link for Linux in beta, ...
and make shellscripts in scripts/ executable
2022-12-28 17:52:49 +01:00
cmdr2
451ab7e84c Create the folders before moving to them 2022-12-28 19:40:08 +05:30
cmdr2
27d69e2ac3 Upgrade stable-diffusion-sdkit during startup 2022-12-28 19:19:53 +05:30
cmdr2
91274a4df8 Move the mandatory models to the models folder, instead of the legacy location inside the stable-diffusion folder 2022-12-28 19:08:39 +05:30
cmdr2
280f0be690 Disable symlink warnings on Windows for huggingface cache 2022-12-28 16:48:12 +05:30
cmdr2
8cedeb349d Changes to allow rolling back from the upcoming sdkit-based system 2022-12-26 23:04:45 +05:30
cmdr2
5e553dd958 Skip sdkit upgrade if in developer mode 2022-12-26 21:00:46 +05:30
cmdr2
32bab80508 Show sdkit version during startup 2022-12-25 16:38:37 +05:30
cmdr2
5f6b798e35 Stop printing annoying ok messages 2022-12-24 19:13:17 +05:30
cmdr2
a4728190c0 Refactor server.py 2022-12-24 15:29:49 +05:30
cmdr2
e0b33a4feb Install rich 2022-12-24 15:10:46 +05:30
cmdr2
fb5c0a3db7 Install python 3.8.5 during installation. Torch isn't available for 3.11 2022-12-24 14:57:57 +05:30
cmdr2
8154a5709b disable the legacy src and ldm folder (otherwise this prevents installing gfpgan and realesrgan) 2022-12-24 14:01:33 +05:30
cmdr2
3a6780bd50 Copy check_modules.py the first time an existing user runs the new version 2022-12-24 13:56:05 +05:30
cmdr2
6662dc66d5 Updated scripts to install sdkit into existing installations, while still working with new installations 2022-12-24 13:37:50 +05:30
cmdr2
6b943f88d1 Set uvicorn log level to 'error' 2022-12-12 15:18:30 +05:30
cmdr2
a2af811ad2 Disable uvicorn access logging in favor of cleaner server-side logging, we already get all that info; Print the request metadata 2022-12-09 22:47:34 +05:30
cmdr2
f1de0be679 Fix integration issues after the refactor 2022-12-09 17:50:33 +05:30
cmdr2
f4a6910ab4 Work-in-progress: refactored the end-to-end codebase. Missing: hypernetworks, turbo config, and SD 2. Not tested yet 2022-12-08 21:39:09 +05:30
cmdr2
a8151176d7
SD 2.1 2022-12-08 10:04:33 +05:30
cmdr2
9ee0b7fe2e
SD 2.1 2022-12-08 10:04:14 +05:30
Guillaume Mercier
cbe91251ac
Hypernetwork support (#619)
* Update README.md

* Update README.md

* Make on_sd_start.sh executable

* Merge pull request #542 from patriceac/patch-1

Fix restoration of model and VAE

* Merge pull request #541 from patriceac/patch-2

Fix restoration of parallel output setting

* Hypernetwork support

Adds support for hypernetworks. Hypernetworks are stored in /models/hypernetworks

* forgot to remove unused code

Co-authored-by: cmdr2 <secondary.cmdr2@gmail.com>
2022-12-07 11:24:16 +05:30
JeLuF
7861c57317
Safetensor support (Fixes #599) (#608)
* safetensors support
Add support for checkpoints in safetensors format: https://github.com/huggingface/safetensors

This format shall be safer than pickle files

* pip install safetensors
2022-12-05 10:59:48 +05:30
cmdr2
8eb3a3536b
Update on_sd_start.bat 2022-12-02 12:06:41 +05:30
cmdr2
cfd50231e1
Update on_sd_start.sh 2022-12-02 12:06:39 +05:30
cmdr2
6a41540749 Remove unused scripts from the previous installer 2022-12-01 14:44:20 +05:30
cmdr2
54f7e6fcb8 SD2 fix - register buffer on the correct device 2022-11-30 16:05:06 +05:30
cmdr2
e37be0f954 Remove the need to use yield in the core loop for streaming results. This removes the need to patch the Stable Diffusion code, which can be fragile 2022-11-29 13:03:57 +05:30
cmdr2
13654cb8c0 Make on_sd_start.sh executable 2022-11-28 13:00:02 +05:30
cmdr2
347fa0fda1
Update on_sd_start.bat 2022-11-26 01:50:30 +05:30
cmdr2
91e4ccf6f8
Update on_sd_start.bat 2022-11-26 01:43:41 +05:30
cmdr2
642c114501 Working txt2img 2022-11-25 14:29:24 +05:30
cmdr2
02dd3e457d Tweaks to load sd1 models in sd2 code, typos 2022-11-25 13:57:15 +05:30
cmdr2
ea7b28c9d5 Placeholder changes for SD 2.0 support, haven't tested yet 2022-11-25 12:17:44 +05:30
cmdr2
b70235ff92 Set the PYTHONPATH in the developer console, before the prompt shows up 2022-11-24 11:48:27 +05:30
cmdr2
8a0ec95fe1
Merge branch 'main' into beta 2022-11-23 15:08:34 +05:30
cmdr2
5a9c8e1d87 Warn but don't fix whitespaces in a patch 2022-11-22 23:21:11 +05:30
cmdr2
daaa65dc0a Warn but don't fix whitespaces in a patch 2022-11-22 23:20:24 +05:30
cmdr2
ab4e371524 Fix whitespace during git apply 2022-11-22 22:25:36 +05:30
cmdr2
5af84b8e90 Fix whitespace during git apply 2022-11-22 22:21:54 +05:30
cmdr2
d9b9f80a93 diffusion-kit upgrade 2022-11-22 17:39:51 +05:30
cmdr2
d429505b71 Update version of diffusion-kit 2022-11-22 17:14:20 +05:30
cmdr2
72ee708917 Remove the need to install realesrgan, gfpgan and certain specific package versions, since the new backend should install them directly 2022-11-22 16:50:10 +05:30
cmdr2
93bbfac29a Change the backend to a custom fork of SD, since basujindal's fork is no longer under development. This fork is intended to include the common models/tools used like RealESRGAN, GFPGAN, Codeformer etc, and is meant to be a community-developed project 2022-11-22 16:38:39 +05:30
cmdr2
87a7b70a27
Shell error code check 2022-11-22 10:40:20 +05:30
cmdr2
9c71c966ca
Shell error code check 2022-11-22 10:39:47 +05:30
cmdr2
3bf5e11f94 Nowarn for fresh installation (git apply whitespace) 2022-11-21 17:19:55 +05:30
cmdr2
eef9af2266 Typo 2022-11-21 17:14:54 +05:30
cmdr2
8316a002da Don't warn about whitespace in the git patch application 2022-11-21 17:11:38 +05:30
cmdr2
5fe7807462 ERRORLEVEL is unreliable when conda is run 2022-11-21 12:38:46 +05:30
cmdr2
497e073a8c
Merge pull request #480 from JeLuF/patch-3
Handle %TMP% and %TEMP%
2022-11-21 12:34:31 +05:30
cmdr2
d4ce54a3c2
Merge pull request #521 from JeLuF/patch-4
Add --whitespace=fix to git apply
2022-11-21 12:33:04 +05:30
JeLuF
ed435d2b72
Add --whitespace=fix also on Linux 2022-11-20 23:09:27 +01:00
JeLuF
2b1f8533b0
Add --whitespace=fix to git apply
For some users who have git preinstalled, `git apply` fails due to whitespace errors.

Aracon found that applying `--whitespace=fix` to the `git apply` invocation fixes the problem.
https://discord.com/channels/1014774730907209781/1036679816713359471/1037025435491516548

ryz confirmed that `--reject` wasn't needed for him to make it work, and this explanation from the "git apply" manpage suggests 
that we shouldn't include `--reject`:

> For atomicity, git apply by default fails the whole patch and does not touch the working tree when some 
> of the hunks do not apply. This option makes it apply the parts of the patch that are applicable, and leave 
> the rejected hunks in corresponding *.rej files.

After having a look at https://github.com/git/git/blob/master/apply.c, I think that they only check for `correct_ws_error` if they couldn't apply the patch. It doesn't impact 'normal' patching. If the patch can be applied, it will be done, and only if the apply fails, they'll check whether adding or removing WS might help. It should thus be save to be added and didn't produce any errors on my installation using SDUI-provided git.
2022-11-20 23:07:44 +01:00
JeLuF
5ebc6b698c Rewrite easy_install.pth on each start
Fixes GFPGANer errors when the env has been moved.
2022-11-20 18:48:48 +01:00
cmdr2
462af9989a
Merge pull request #491 from JeLuF/inst1
Fix typo in the installer's error messages
2022-11-18 17:07:06 +05:30
JeLuF
3e18f2f09c Picklescan of model files
During getModel(), the server picklescans the model files for potential
malicious code in the pickled python objects. If a malicious file is
found, the web UI will show a big red error message, the makeImage
button will be disabled, and the user must remove the malicious file
and reload the UI page.
2022-11-16 22:34:02 +01:00
JeLuF
add09e52ef Fix typo in the installer's error messages 2022-11-16 20:56:11 +01:00
cmdr2
f5ec1cb3a4 Don't show the list of files that have been copied on startup 2022-11-16 11:31:16 +05:30
cmdr2
e99d54d1f6 Merge main 2022-11-16 11:19:10 +05:30
JeLuF
7f436061b8
RFC: how to handle %TMP% and %TEMP% - UNTESTED
`conda activate` fails if %TMP% or %TEMP% contains spaces. So instead of setting the temp variables in the installer steps, we need to set it at the beginning of the script. 

Would this break anything? 
https://discord.com/channels/1014774730907209781/1042190192049668106/1042190192049668106
2022-11-15 23:29:32 +01:00
cmdr2
e252c9ac05 Only set the userprofile if in a new micromamba installation 2022-11-14 10:11:28 +05:30
JeLuF
e59fbac761
set USERPROFILE to local profile (fixes #468)
According to this analysis: https://discord.com/channels/1014774730907209781/1040225028828057620/1040324719074889779
the USERPROFILE variable must not contain unicode characters as well. Only setting APPDATA is not sufficient.
2022-11-13 09:19:01 +01:00
cmdr2
c17222dbe4 The error level is unreliable on Windows when testing a command. My cmd.exe shell hooks are broken, and this condition always fails for me 2022-11-12 13:08:46 +05:30
cmdr2
abd8c69395 Bypass a bug in micromamba, where it fails silently if the APPDATA env variable has special characters like öäü 2022-11-12 13:07:29 +05:30
cmdr2
a7fde73df4 Tabs to spaces in bootstrap scripts 2022-11-12 12:47:39 +05:30
cmdr2
d1c9db874f Set the PYTHONPATH right at the start, to prevent it from picking up a system-wide python 2022-11-11 11:37:15 +05:30
cmdr2
65587536ab Fix typo in binding of host/ip 2022-11-09 11:08:25 +05:30
cmdr2
ad31be8344 Fix 2022-11-09 11:05:07 +05:30
cmdr2
25815c81bf Bring back the configurable host/port 2022-11-09 11:03:03 +05:30
cmdr2
852a22f86d temporary rollback of configurable host/port 2022-11-09 10:58:25 +05:30
cmdr2
e22b171b7b
Merge pull request #445 from JeLuF/err-handle
Improve error handling
2022-11-09 10:08:55 +05:30
cmdr2
9bc7521de0 Make custom VAE an Image Setting, rather than a System Setting; Don't load a VAE into memory by default 2022-11-08 16:54:15 +05:30
cmdr2
842e7e559e
Update bootstrap.bat 2022-11-08 10:30:26 +05:30
JeLuF
a62ee7850b Merge branch 'err-handle' of github.com:JeLuF/stable-diffusion-ui into err-handle 2022-11-05 23:31:19 +01:00
JeLuF
d3a90ccc0d Windows error handling
- cd to the script location on start of 'Start Stable Diffusion UI.cmd'
- Bail out when downloading micromamba fails
- add env variables SD_UI_BIND_IP and SD_UI_BIND_PORT to configure uvicorn
2022-11-05 23:30:40 +01:00
JeLuF
46b13ee664
Merge branch 'cmdr2:main' into err-handle 2022-11-05 20:49:19 +01:00
JeLuF
cfa6dc7836 Add blank lines to error message 2022-11-05 19:02:19 +01:00
JeLuF
f969bfa7be More error handling, central error function 2022-11-05 18:59:59 +01:00
cmdr2
ea7006eec4 Set the PYTHONPATH before installation to prevent conda from knowing about any system-wide python installations (and skipping package installs due to that) 2022-11-02 19:45:49 +05:30
cmdr2
33e25d9241 Deduce the filename in developer_console.sh instead of hardcoding it 2022-10-29 20:25:11 +05:30
cmdr2
fc11018158 Re-download micromamba if necessary 2022-10-29 19:41:52 +05:30
Michael Nahkies
840348b4eb fix: change to the correct working directory
changes to the directory containing `start.sh` prior to activating the conda environment

this allows you to run the program without first changing to the correct directory, eg: `$ ~/bin/stable-diffusion-ui/start.sh`
2022-10-29 15:09:04 +05:30
Michael Nahkies
450fb2553c fix: change to the correct working directory
changes to the directory containing `start.sh` prior to activating the conda environment

this allows you to run the program without first changing to the correct directory, eg: `$ ~/bin/stable-diffusion-ui/start.sh`
2022-10-29 15:08:25 +05:30
cmdr2
a8c16e39b8 Support custom VAE files; Use vae-ft-mse-840000-ema-pruned as the default VAE, which can be overridden by putting a .vae.pt file inside models/stable-diffusion with the same name as the ckpt model file. The UI / System Settings allows setting the default VAE model to use 2022-10-28 20:06:44 +05:30
cmdr2
cf313939aa
Merge pull request #402 from cmdr2/beta
Retry micromamba download on windows
2022-10-27 19:50:12 +05:30
cmdr2
873d4bd3f2 Retry micromamba download on windows 2022-10-27 19:47:20 +05:30
cmdr2
f43f3fc84b
Merge pull request #401 from cmdr2/beta
Download micromamba again if it failed to download the first time
2022-10-27 16:07:10 +05:30
cmdr2
0e1fed86ba Download micromamba again if it failed to download the first time 2022-10-27 16:06:16 +05:30
JeLuF
6ba32b95f3
Undo curl change
#392 Resume Downloads
The retry options also don't work on some windows machines:
https://discord.com/channels/1014774730907209781/1014774732018683926/1034935751332347922
2022-10-27 00:26:24 +02:00
cmdr2
6d43e0951c
Update on_sd_start.sh 2022-10-27 00:49:32 +05:30
cmdr2
088c546bee
Merge pull request #394 from JeLuF/patch-4
Retry downloads on flaky internet connections
2022-10-26 17:36:46 +05:30
JeLuF
4994a7ac85
Update on_sd_start.sh 2022-10-26 13:27:49 +02:00
JeLuF
a959c69d32
Retry downloads for flaky internet connections
See issue #392
2022-10-26 13:26:19 +02:00
cmdr2
c8fc0bb4f5 Remove the extra python version print 2022-10-26 16:02:00 +05:30