Commit Graph

226 Commits

Author SHA1 Message Date
cmdr2
053bce7a8e
Set the correct mimetype in the base64 image 2022-10-31 19:05:57 +05:30
Marc-Andre Ferland
eb596ba866 Allow start_render_thread to proceed faster in case of failure. 2022-10-30 06:04:06 -04:00
Marc-Andre Ferland
c687091ce9 Only return valid data for alive threads. 2022-10-30 01:38:32 -04:00
Marc-Andre Ferland
eb994716e6 Indentation... 2022-10-30 01:33:17 -04:00
Marc-Andre Ferland
099727d671 Added auto unload to CPU if GPUs are active. 2022-10-29 18:57:10 -04:00
Marc-Andre Ferland
6229cdb1ba Added a missing device_name 2022-10-29 17:47:45 -04:00
Marc-Andre Ferland
b7a663ed20 Implement complete device selection in the backend. 2022-10-29 17:34:53 -04:00
Marc-Andre Ferland
86da27a7a1 Moved wait outside lock and now returns false on failure. 2022-10-28 22:52:00 -04:00
Marc-Andre Ferland
fc2a6567da Moved import before use of runtime.thread_data.device 2022-10-28 22:51:04 -04:00
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
Marc-Andre Ferland
26562e445f Set online after preload. Move ident to include in if check. 2022-10-28 04:09:34 -04:00
Marc-Andre Ferland
c52fc843f6 Comment... 2022-10-28 02:09:11 -04:00
Marc-Andre Ferland
02240bda25 Moved up to not duplicate if statement. 2022-10-28 02:05:48 -04:00
Marc-Andre Ferland
0185ef7c83 Apply force_full_precision if was set on device_select. 2022-10-28 02:02:09 -04:00
Marc-Andre Ferland
71c6beadb4 Only default to cpu on auto or current.
Not when a specific device was requested.
2022-10-28 01:09:38 -04:00
Marc-Andre Ferland
22a11769fa Enable preload on cpu when no other devices are alive. 2022-10-27 21:57:50 -04:00
Marc-Andre Ferland
7f4786f9dd Wait until device is fully ready before proceding. 2022-10-27 20:27:21 -04:00
cmdr2
0dfaf9159d Put back the check to only preload on GPU 2022-10-28 00:04:33 +05:30
cmdr2
389e3397ec Preload the model even in the CPU mode 2022-10-27 23:17:41 +05:30
cmdr2
284b95213e Fix a bug where the device wouldn't get set if no cuda-compatible hardware was found 2022-10-27 22:59:55 +05:30
cmdr2
952854f64e Revert 554650c18d 2022-10-27 22:59:17 +05:30
cmdr2
554650c18d Fix a bug where the device wouldn't get set if no cuda-compatible hardware was found 2022-10-27 22:51:45 +05:30
cmdr2
3fb5d886dc
Merge pull request #398 from madrang/mGpu-crashHandling
mGpu crash handling
2022-10-27 13:44:26 +05:30
Marc-Andre Ferland
d3df113fb0 When reduced_memory is True, on crash only move model back to Cpu. 2022-10-26 16:52:31 -04:00
Marc-Andre Ferland
06c2ab045a Fix TypeError: string indices must be integers 2022-10-26 16:14:29 -04:00
Marc-Andre Ferland
ae40b6ba8c Missed a is_alive check in the conversion. 2022-10-25 03:00:50 -04:00
Marc-Andre Ferland
c41baf3aeb Moved img_id creation inside save image loop. 2022-10-25 02:10:52 -04:00
Marc-Andre Ferland
fc875651d3 Removed unused vars 2022-10-23 05:00:21 -04:00
Marc-Andre Ferland
0d62123a0b Replaced missing gpu_name by device_name 2022-10-22 21:28:12 -04:00
Marc-Andre Ferland
8adf965d0b Formatting changes. 2022-10-22 19:02:02 -04:00
Marc-Andre Ferland
364e364429 Added get_cached_task to replace task_cache.tryGet in server.py
Now updated cache TTL on /stream and temp images endpoints.
Keep images alive longer when browser keeps reading the endpoints.
2022-10-22 13:52:13 -04:00
Marc-Andre Ferland
cd6d49860f Missing a 'r' in progress 2022-10-22 01:23:39 -04:00
Marc-Andre Ferland
8a10fcf7ea updated print statement. 2022-10-22 00:34:33 -04:00
Marc-Andre Ferland
3b5f96a133 Fixed stopping tasks and more cleaning. 2022-10-21 22:45:19 -04:00
Marc-Andre Ferland
ce2b711b1f Newlines... 2022-10-21 21:44:15 -04:00
Marc-Andre Ferland
7befa94e6d More comments and cleanup. 2022-10-21 20:56:24 -04:00
Marc-Andre Ferland
88ef1a3c5b Moved time before model.to 2022-10-21 20:22:34 -04:00
Marc-Andre Ferland
ccb7a553c2 Memory improvements 2022-10-21 19:34:29 -04:00
Marc-Andre Ferland
56ed4fe6f2 Fix VisualStudio Type Warning. 2022-10-21 01:30:49 -04:00
Marc-Andre Ferland
849d1d7ebd Merge branch 'beta' of https://github.com/cmdr2/stable-diffusion-ui.git into multi-gpu
# Conflicts:
#	ui/media/js/main.js
#	ui/sd_internal/runtime.py
#	ui/server.py
2022-10-20 20:08:23 -04:00
cmdr2
090dfff730 Refactor the time delays into constants and mention the units 2022-10-20 17:22:01 +05:30
cmdr2
9d16898926
Merge branch 'beta' into merge 2022-10-20 15:57:46 +05:30
rbertus2000
01fb1bde8b fix seed for parallel renders with filters applied 2022-10-19 23:16:51 +02:00
Marc-Andre Ferland
4e5ddca3bd Display the failure detail when there is one at that step.
Was checking the json object, not the server response.
2022-10-19 05:10:37 -04:00
Marc-Andre Ferland
3bdc90451a Dont preload on cpu. 2022-10-19 04:34:54 -04:00
Marc-Andre Ferland
21afe077d7 Removed Cpu from the devices allowed to run GFPGANer.
Added clear error for the user.
2022-10-19 03:02:26 -04:00
cmdr2
0922ba938c Remove unnecessary tabs 2022-10-19 09:59:18 +05:30
Marc-Andre Ferland
3fc66ec525 Removed empty lines left over from merge. 2022-10-19 00:27:51 -04:00
cmdr2
44191cd908 Merge pull request #357 from rbertus2000/beta
fixed img_id for parallel renders
2022-10-19 09:57:05 +05:30
Marc-Andre Ferland
0da0c6bd77 Merge branch 'beta' of https://github.com/cmdr2/stable-diffusion-ui.git into multi-gpu 2022-10-19 00:26:09 -04:00
Marc-Andre Ferland
6098b196dc Text header, comments and better validations. 2022-10-18 23:58:55 -04:00
Marc-Andre Ferland
53cdeeff03 More fixes to devices changing names. 2022-10-18 21:08:04 -04:00
Marc-Andre Ferland
fcdb086daf Fixed is_alive to work with devices that can change name after init. 2022-10-18 20:33:37 -04:00
rbertus2000
d2d9c2dd0f fixed corresponding txt file id 2022-10-19 01:17:44 +02:00
rbertus2000
4241fb9386 fixed img_id for parallel renders 2022-10-18 22:38:37 +02:00
Marc-Andre Ferland
cfd6751777 Merge branch 'beta' of https://github.com/cmdr2/stable-diffusion-ui.git into multi-gpu 2022-10-18 13:21:26 -04:00
Marc-Andre Ferland
5e461e9b6b Fixed is_alive with render_threads that can update the device name after starting. 2022-10-18 13:21:15 -04:00
cmdr2
83d6c3ba88 Fix the broken 'time remaining' counter 2022-10-18 16:12:17 +05:30
cmdr2
926e3e2712
Merge pull request #351 from madrang/fix-bug332
Force encoding to utf-8 on text file operations Fixes #332
2022-10-18 09:40:54 +05:30
Marc-Andre Ferland
578b3ba4f4 Force encoding to utf-8 on text file operations Fixes #332
# Conflicts:
#	ui/server.py
2022-10-17 23:15:36 -04:00
Marc-Andre Ferland
5b0b582039 Force encoding to utf-8 on text file operations Fixes #332 2022-10-17 22:38:29 -04:00
Marc-Andre Ferland
e24be913e5 Merge branch 'beta' into multi-gpu 2022-10-17 21:35:24 -04:00
Marc-Andre Ferland
4d3358ba66 Fixed file path bugs introduced by mistake and made img_id sequential based on time for better sorting of renders. 2022-10-17 21:29:14 -04:00
Marc-Andre Ferland
ffe40fa3a3 Fixed file path bugs introduced by mistake and made img_id sequential based on time for better sorting of renders. 2022-10-17 21:27:15 -04:00
cmdr2
cb82170187 Fix the bug where custom models weren't getting picked up 2022-10-17 21:22:05 +05:30
Marc-Andre Ferland
c92129ac63 Improved detection of missing cuda:0 and added warning to console about how to fix. 2022-10-17 03:32:23 -04:00
Marc-Andre Ferland
554b67a2f0 Fixing bug in is_alive. 2022-10-17 01:05:51 -04:00
Marc-Andre Ferland
012243a880 Process GPU tasks on CPU when there are no cuda devices at all. 2022-10-17 01:05:27 -04:00
Marc-Andre Ferland
d4a348a2b2 Process GFPGANer on cuda:0 when possible, otherwise use cpu. 2022-10-16 23:12:46 -04:00
Marc-Andre Ferland
41bfb96b6b Fixed bug in task_manager.is_alive and added way to check for first device. 2022-10-16 23:06:41 -04:00
Marc-Andre Ferland
7c72608e1c First draft for Multi-GPU support 2022-10-16 21:41:39 -04:00
Marc-Andre Ferland
cbdf03450d Added timeout to critical locking tasks with matching exception 2022-10-15 05:31:17 -04:00
Marc-Andre Ferland
8fdb1e7ec9 Improved locking and logging when cleaning old cached sessions. 2022-10-15 04:39:45 -04:00
Marc-Andre Ferland
d3b28c42e6 Better error handling with cache.put 2022-10-15 04:08:17 -04:00
Marc-Andre Ferland
7de699c7fa Moved a lot of code into task_manager.py 2022-10-15 03:28:20 -04:00
Marc-Andre Ferland
c7f6763c48 Runtime cleanup and moved apply_filters to it's own function 2022-10-14 23:20:57 -04:00
cmdr2
7ae70d5a4d Don't delete the model variables twice 2022-10-08 13:58:44 +05:30
cmdr2
883dc72fc6 Unload the previous model while reloading 2022-10-08 13:19:18 +05:30
cmdr2
3b923e0d37 Didn't fix the ckpt bug properly 2022-10-08 12:48:37 +05:30
cmdr2
a208564f06 Wait for the model to load before changing the global 'model loaded' state 2022-10-08 12:35:23 +05:30
cmdr2
cec203a6db Allow saving in jpeg or png format; Default to saving in jpeg 2022-10-06 15:05:34 +05:30
cmdr2
cf8bb9efb0 Don't reload the model when using an initial image; Work in half-precision for txt2img as well, no change in the output image noticed 2022-10-06 14:42:47 +05:30
cmdr2
201a053025 Support an arbitrary number of custom models, placed in the models/stable-diffusion folder. Shows an option in the UI to select which model to use 2022-10-06 14:28:02 +05:30
cmdr2
b4c68a8ae5 Save the negative prompt in the text file 2022-09-28 18:33:08 +05:30
cmdr2
008b4228d2 Support negative prompts. Credit for the approach: https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki/Negative-prompt 2022-09-27 19:41:21 +05:30
cmdr2
ca704e1d51 Revert "Merge pull request #250 from cmdr2/win-installer-no-activate"
This reverts commit 04eb356c89, reversing
changes made to 300159c03b.
2022-09-26 20:07:04 +05:30
cmdr2
b3e9b266fa Use python 3.8.13 instead of 3.8.5, since 3.8.5 seems to be missing openssl in some pip repositories 2022-09-26 12:05:07 +05:30
cmdr2
661cf440f3 Remove debugging log 2022-09-24 14:11:26 +05:30
cmdr2
3822058daf More debugging 2022-09-24 14:05:45 +05:30
cmdr2
9bb091d31e Fix a bug where DDIM wouldn't get the correct steps from the UI after the first run 2022-09-23 21:22:44 +05:30
cmdr2
8cb340be9d Merge branch 'main' into beta 2022-09-23 20:19:12 +05:30
cmdr2
5c827703a1 Report the steps for img2img correctly 2022-09-23 13:38:33 +05:30
cmdr2
a3de0820b3 Fix the 'Expected all tensors to be on the same device' error 2022-09-23 11:44:50 +05:30
cmdr2
83cb473a45 Fix the ddim_timesteps attribute missing error for txt2img with the ddim sampler 2022-09-23 11:14:06 +05:30
cmdr2
e7f9db5e56 Fix blurry img2img 2022-09-23 11:05:35 +05:30
cmdr2
c675caf3f9 Fix a missing ddim_steps error for the DDIM sampler 2022-09-23 00:54:35 +05:30
cmdr2
956b3d89db New samplers for txt2img: "ddim", "plms", "heun", "euler", "euler_a", "dpm2", "dpm2_a", "lms" 2022-09-23 00:19:05 +05:30
cmdr2
7b520942dc Update to the latest commit on basujindal's SD fork; More VRAM garbage-collection; Speed up live preview by displaying only every 5th step 2022-09-22 22:14:25 +05:30
cmdr2
f98225cdb6 Better errors when the server fails 2022-09-22 18:04:11 +05:30
cmdr2
f42eaaea86 Fix incorrect patch for env 2022-09-22 12:48:11 +05:30
cmdr2
bfdb74979f Restrict to pandas 1.4.4, the new 1.5 version breaks the numpy dependency 2022-09-22 12:25:57 +05:30
cmdr2
7d12dbd4b2 Free up VRAM when possible 2022-09-21 21:53:25 +05:30
cmdr2
16c842366a Don't apply filters if the user stops a task 2022-09-21 19:29:27 +05:30
cmdr2
18f452d968 Fix another bug with placeholder images; Move the logic for whether show_only_filtered is applied to the server 2022-09-21 17:41:42 +05:30
cmdr2
108e516b80
Don't use colorama 2022-09-16 21:32:08 +05:30
cmdr2
1c5097b81b Hotfix for pywavelet version, attempt 1 2022-09-16 00:36:31 +05:30
cmdr2
7e7c110851 Image mask (inpainting) 2022-09-15 17:54:03 +05:30
cmdr2
27071cfa29 Live preview of images 2022-09-14 22:29:42 +05:30
cmdr2
9f48d5e5ff Show the progress percentage while generating images 2022-09-14 16:52:03 +05:30
cmdr2
3b47eb3b07 Bug fix - tasks with an initial image were not resizing the initial image to the desired dimension 2022-09-14 11:36:55 +05:30
cmdr2
885759abc5 Return the image metadata and disk path in the response 2022-09-14 10:15:35 +05:30
cmdr2
e59c66ae26 Backend changes to support stopping a task mid-way. Uses a custom patch for the stable-diffusion codebase, to make it call a callback for DDIM 2022-09-13 19:59:41 +05:30
cmdr2
246ceebe0e Merge branch 'main' into beta 2022-09-12 11:12:41 +05:30
cmdr2
9fe1709bf7 Catch 16xx cards without the NVIDIA name in them 2022-09-11 11:16:05 +05:30
cmdr2
fec21f1208 Catch 16xx cards without the NVIDIA name in them 2022-09-11 11:10:54 +05:30
cmdr2
1d4b34c0dd Print GPU name 2022-09-11 10:59:45 +05:30
cmdr2
d88e0f16ac Use CPU mode for graphics cards with less than 3 GB of RAM 2022-09-11 10:34:04 +05:30
cmdr2
65b2c056c6 Revert "Revert "Revert "Revert "Merge pull request #112 from cmdr2/develop""""
This reverts commit 0dd38870e0.
2022-09-09 21:05:24 +05:30
cmdr2
0dd38870e0 Revert "Revert "Revert "Merge pull request #112 from cmdr2/develop"""
This reverts commit 788dcbf471.
2022-09-08 23:45:21 +05:30
cmdr2
788dcbf471 Revert "Revert "Merge pull request #112 from cmdr2/develop""
This reverts commit 9051bf6e68.
2022-09-08 23:19:35 +05:30
cmdr2
9051bf6e68 Revert "Merge pull request #112 from cmdr2/develop"
This reverts commit 598de3697d, reversing
changes made to 0eae17075f.
2022-09-08 22:54:54 +05:30
cmdr2
253e75c747 v2.1 - Face correction (GFPGAN) and Upscaling (RealESRGAN) 2022-09-08 21:20:27 +05:30
cmdr2
1d4e06b884 Use full precision automatically for NVIDIA 1650 and 1660 2022-09-07 15:32:34 +05:30
cmdr2
a29259a8b6 Shorter filenames for saved images; Don't crash other images if one fails to save 2022-09-05 16:51:43 +05:30
cmdr2
21dc2ece1b Store images during a session in the same folder; Store the metadata for each image as a txt file next to it 2022-09-04 00:12:48 +05:30
cmdr2
472b8d0e51 Keep v2 files in the repo, for the updater 2022-09-02 13:58:36 +05:30