Commit Graph

294 Commits

Author SHA1 Message Date
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
cmdr2
7b9d18caea Report the python version after activating the SD environment, that log is not very useful otherwise 2022-10-26 16:00:21 +05:30
cmdr2
137e519b66 Move the installer activation to on_sd_start 2022-10-26 12:15:58 +05:30
cmdr2
f732fa9736 Use call to start the conda script; activate the installer env first even in the developer console 2022-10-25 20:26:46 +05:30
cmdr2
0c2d227da1 Activate the installer env while starting up, like the previous installer did in the start script 2022-10-25 19:21:26 +05:30
cmdr2
a281efef04 deactivate any pre-activated conda environments, by returning to (base) and then deactivating that. On Windows and Linux 2022-10-25 18:07:29 +05:30
cmdr2
538dcec348 deactivate any pre-activated conda environments before installing 2022-10-25 17:26:33 +05:30