Commit Graph

211 Commits

Author SHA1 Message Date
hlky
8b4464a706
Add periodic checkpointing
Update diffusers_textual_inversion_2.py
2022-09-23 15:29:08 +01:00
Colton
f0be43d7df
Send the image grid to the front end if generated for a prompt matrix (#1200) 2022-09-23 14:32:36 +03:00
Qualzz
75eac9c5c0
moved pagination logic before the rendering of the component (#1268) 2022-09-22 23:09:42 +03:00
ZeroCool940711
e49699a65e Basic code for the streamlit textual inversion page. 2022-09-22 01:44:35 -07:00
ZeroCool940711
889256d26e Improved the script that downloads the concepts library from huggingface in case someone wants to use it. 2022-09-22 00:02:44 -07:00
ZeroCool940711
3cd91bde82 The denoising_strength slider on img2img is now customizable using the config file. 2022-09-21 14:58:49 -07:00
ZeroCool940711
2c7b22a540 The Find Noise Steps slider om img2img can now be customizable from the config file. 2022-09-21 00:39:27 -07:00
ZeroCool940711
e874a2d6a7 Added condition to check if the concepts library folder exist and if not tell the user where to download the concepts from. 2022-09-20 22:15:49 -07:00
ZeroCool940711
8584205e11 Added implementation of the Concepts Library tab made by @Qualzz. 2022-09-20 21:06:00 -07:00
ZeroCool940711
f99657241d Fixed the image not been decoded in txt2vid if the Update Image Preview options was not checked. 2022-09-20 17:07:38 -07:00
hlky
ba84d28da2
txt2vid fix enumerate(... max_frames)) -> enumerate(... num_steps)) 2022-09-20 14:00:08 +01:00
Thomas Mello
3705f296c6
fix: division by zero, inefficient preview check (#1230) 2022-09-19 21:05:18 +03:00
hlky
c6bf0d2ecb
Update diffusers_textual_inversion_2.py 2022-09-19 14:49:00 +01:00
hlky
91c0d0f20b
Create diffusers_textual_inversion_2.py 2022-09-19 13:09:45 +01:00
ZeroCool940711
56ae22eb53 - Improved optimized mode for txt2img, it should be able to generate high resolution images using less VRAM than before.
- Improved txt2vid so its now possible to generate high resolution images with less VRAM than before.
- Added condition to ensure that the pipe model from txt2vid is removed from memory when switching from the txt2vid tab to txt2img and viceversa.
2022-09-19 00:02:21 -07:00
ZeroCool940711
1d9ef57802 Fixed the filename of the video generated at the end of a txt2vid generation, it was saved as test.mp before but now its saved as seed_prompt.mp4 with the seed and prompt form the generation. 2022-09-18 18:29:19 -07:00
ZeroCool940711
a7d7955721 GFPGAN can now be used on the txt2vid tab. 2022-09-18 15:17:02 -07:00
ZeroCool940711
db0eb80728 Fixed typo on the sd-concepts-library path. 2022-09-18 14:20:13 -07:00
ZeroCool940711
1b1f784a76 Every slider min, max and step values as well as its default value is now configurable through the config file. 2022-09-18 11:11:23 -07:00
ZeroCool940711
fdd0c38ac2 Added missing sd_concept_library.py file. 2022-09-18 09:15:05 -07:00
hlky
6f4a1d8a41
slider_steps and slider_bounds in defaults config
slider_steps and slider_bounds in defaults config
2022-09-18 12:23:51 +01:00
Thomas Mello
afe954d4e9 Merge remote-tracking branch 'upstream/dev' into the-merge 2022-09-18 13:03:19 +03:00
Dekker3D
56b91b8bdc
Streamlit txt2img page settings now follow defaults (#1195)
* Some options on the Streamlit txt2img page now follow the defaults from the relevant config files.

* Fixed a copy-paste gone wrong in my previous commit.

* st.session_state["defaults"] fix

Co-authored-by: hlky <106811348+hlky@users.noreply.github.com>
2022-09-18 10:39:30 +01:00
protoplm
e4d82f4e84
Used loaded_model state variable in .yaml generation (#1196)
Used loaded_model state variable in .yaml generation
2022-09-18 10:34:37 +01:00
Thomas Mello
148c41826b Merge branch 'dev' into the-merge
# Conflicts:
#	.gitignore
#	README.md
#	configs/webui/webui_streamlit.yaml
#	environment.yaml
#	frontend/css/streamlit.main.css
#	frontend/frontend.py
#	scripts/webui_streamlit.py
2022-09-18 12:31:17 +03:00
hlky
4680975ae1
st.session_state["defaults"] fix 2022-09-18 09:57:33 +01:00
hlky
745e1cc2e1
Temporarily hide sd_concept_library due to missing layout() 2022-09-18 04:21:35 +01:00
ZeroCool940711
997eb12733 Basic implementation for the Concept Library tab made by cloning the Home tab. 2022-09-17 19:02:40 -07:00
ZeroCool940711
cd4396d1da Added option to enable enable_attention_slicing and enable_minimal_memory_usage, this for now only works on txt2vid which uses diffusers. 2022-09-17 16:49:42 -07:00
ZeroCool940711
c35e5804c2 Added a config option to use embeddings from the huggingface stable diffusion concept library. 2022-09-17 15:25:55 -07:00
Chris Heald
27c8134547 Display the final image before running postprocessing, and don't preview when i=0 2022-09-16 18:25:08 -07:00
Chris Heald
d53643822d Collect images for final display
This is a collection of several changes to enhance image display:

* When using GFPGAN or RealESRGAN, only the final output will be
  displayed.
* In batch>1 mode, each final image will be collected into an image grid
  for display
* The image is constrained to a reasonable size to ensure that batch
  grids of RealESRGAN'd images don't end up spitting out a massive image
  that the browser then has to handle.
* Additionally, the progress bar indicator is updated as each image is
  post-processed.
2022-09-16 17:39:46 -07:00
ZeroCool
419f3f9474
Merge branch 'dev' into fix-preview-error 2022-09-16 16:36:55 -07:00
Chris Heald
0cf3d1b0ef When early terminating, generation_callback gets invoked but st.session_state is empty. When this happens, just bail. 2022-09-16 16:29:10 -07:00
ZeroCool
ac99b657d2
Merge pull request #1187 from cheald/enable-batch-preview
When running a batch with preview turned on, produce a grid of previe…
2022-09-16 16:27:43 -07:00
Chris Heald
c1ab63c284 When running a batch with preview turned on, produce a grid of preview images 2022-09-16 16:12:52 -07:00
Chris Heald
d22cf56395
Don't attempt mask restoration when there is no mask given (#1186) 2022-09-16 23:56:09 +03:00
hlky
b856a91ec8
allow webp uploads to img2img tab #991 2022-09-16 20:55:58 +01:00
bryanlyon
b5462536f8
Fixed decimal prompt weights without leading digit (#1182)
The regex was not accounting properly for prompt weights that didn't begin with a leading number such as .5 or .1 and was instead splitting those off into their own prompt which got everything all screwed up.

For example, the prompt string of "Fruit:1 grapes:-.5" should parse as
[('Fruit', 1.0), ('grapes', -.5)]
but was being incorrectly parsed as
[('Fruit', 1.0), ('grapes', 1.0), ('-.5', 1.0)]

This fixes that by making the regex properly catch decimals.
2022-09-16 20:42:41 +01:00
xaedes
4efe62b31a
add missing argument to GoBig sample function, fixes #1183 (#1184) 2022-09-16 20:40:30 +01:00
ZeroCool940711
ef2da42489 - Bumped the version of diffusers used on the txt2vid tab to be now v0.3.0.
- Added initial file for the textual inversion tab.
2022-09-16 11:50:22 -07:00
Charles Galant
d293073e67 Enable negative prompts on streamlit 2022-09-16 13:25:25 -04:00
ZeroCool
9a6b2173a5
Merge branch 'dev' into gallery-fixes 2022-09-16 04:21:58 -07:00
ZeroCool
e65b8d0b8a
Merge branch 'dev' into fix-find-noise 2022-09-16 04:15:11 -07:00
ZeroCool940711
0645c7cf64 - Increased the max value for the width and height sliders on the txt2img tab.
- Fixed a leftover line from removing the home tab.
2022-09-15 17:18:36 -07:00
ZeroCool940711
88ae534693 Fixed a missing import on the ModelManager script. 2022-09-15 14:27:13 -07:00
ZeroCool940711
eb545c1229 Removed the Home tab until the gallery is fixed. 2022-09-15 14:23:09 -07:00
Chris Heald
51a973929c Fix invalid invocation of find_noise_for_image 2022-09-15 12:48:35 -07:00
Chris Heald
d2f339061b Fix the gallery back/next buttons and add a refresh button 2022-09-15 12:45:45 -07:00
Chris Heald
8a25dcc332 Fix errors rendering galleries when there are not enough images to render 2022-09-15 11:06:56 -07:00
ZeroCool940711
4068d804ad - Added the Home tab made by @devilismyfriend
- Added gallery tab on txt2img.
2022-09-15 06:29:41 -07:00
ZeroCool940711
d93065bb95 Added streamlit_nested_layout component as dependency and imported on the webui_streamli.py file to allow us to use nested columns and expanders. 2022-09-15 03:48:55 -07:00
protoplm
6a19a73388 Fixed update_preview_frequency and update_preview using defaults from
webui_streamlit.yaml instead of state variables from UI.
2022-09-14 23:03:55 -04:00
protoplm
ca6fb326f3 Formatted tabs as spaces 2022-09-14 20:17:07 -04:00
protoplm
4f7adcaf42 Corrected breaking issues introduced in #1136 to txt2img and
made state variables consistent with img2img.

Fixed a bug where switching models after running would not reload
the used model.
2022-09-14 19:59:53 -04:00
ZeroCool940711
3e6a8cc185 Small fix to the custom model list. 2022-09-14 15:18:37 -07:00
ZeroCool940711
02fe63acb2 Added custom models list to the txt2img tab. 2022-09-14 14:48:13 -07:00
cobryan05
81f58d58d0
Re-merge #611 - View/Cancel in-progress diffusions (#796)
* JobManager: Re-merge #611

PR #611 seems to have got lost in the shuffle after
the transition to 'dev'.

This commit re-merges the feature branch. This adds
support for viewing preview images as the image
generates, as well as cancelling in-progress images
and a couple fixes and clean-ups.

* JobManager: Clear jobs that fail to start

Sometimes if a job fails to start it will get stuck in the active job
list. This commit ensures that jobs that raise exceptions are cleared,
and also adds a start timer to clear out jobs that fail to start
within a reasonable amount of time.
2022-09-14 23:48:56 +03:00
ZeroCool940711
3675b566a4 Merge remote-tracking branch 'origin/dev' into dev
# Conflicts:
#	scripts/img2img.py
#	scripts/sd_utils.py
#	scripts/txt2img.py
2022-09-14 11:39:21 -07:00
ZeroCool940711
dbbed38c8c - Fixed max_frame not being properly used and instead sampling_steps was the variable being use.
- Fixed several issues with wrong variable being used on multiple places.
- Addd option to toggle some extra option from the config file for when the model is loading on the txt2vid tab.
2022-09-14 11:34:24 -07:00
ZeroCool940711
4c46633572 Fixed defaults not being loaded correctly or missing in some places. 2022-09-14 09:26:23 -07:00
Thomas Mello
8df0b1a26d temp disable nvml support for multiple gpus 2022-09-14 18:41:42 +03:00
Thomas Mello
ede81bdc5c fix: [streamlit] optimization mode 2022-09-14 18:22:24 +03:00
ZeroCool940711
ed1ebc129c Modified the way the defaults settings are loaded from the config file so we only load them on the webui_strealit.py file and use st.session_state to access them from anywhere else, this makes it so the config can be modified externally like before the code split and the changes will be updated on next rerun of the UI. 2022-09-14 06:40:56 -07:00
ZeroCool
df2c3188c2
Merge branch 'sd-webui:dev' into dev 2022-09-14 06:03:18 -07:00
ZeroCool940711
6a79ea930b Removed condition to check if the defaults are in the st.session_state dictionary, this is not needed and would cause issues with it not being reloaded when the user changes something on it. 2022-09-14 05:58:01 -07:00
unnamedplugins
6ce25a8e0f Merge branch 'dev' of github.com:sd-webui/stable-diffusion-webui into dev 2022-09-14 08:48:21 -04:00
ZeroCool940711
9246692072 Moved defaults to the webui_streamlit.py file and fixed some imports. 2022-09-14 04:19:24 -07:00
ZeroCool940711
1afc89e0d1 Made the defaults settings from the config file be stored inside st.session_state to avoid loading it multiple times when calling the "sd_utils.py" file from other modules. 2022-09-14 03:48:29 -07:00
ZeroCool940711
ef6b39ab6d Fixed the info message on the txt2img tab not showing the info but just showing the text "Done" 2022-09-14 03:20:19 -07:00
ZeroCool940711
d2b3900647 Fixed some imports. 2022-09-14 02:52:02 -07:00
ZeroCool940711
374b144e77 - Added the functions to load the optimized models, this "should" make it so optimized and turbo mode work now but needs to be tested more.
- Added function to load LDSR.
2022-09-14 02:46:01 -07:00
ZeroCool940711
2e684f948f Removed the "find_noise_for_image.py" and "matched_noise.py" scripts as their content is now part of "sd_utils.py" 2022-09-14 02:02:11 -07:00
ZeroCool940711
71be8f09f2 Forgot to call the layout() for the Model Manager tab after the import so it was not been used and the tab was shown as empty. 2022-09-13 23:02:16 -07:00
ZeroCool940711
ede343a269 The webui_streamlit.py file has been split into multiple modules containing their own code making it easier to work with than a single big file.
The list of modules is as follow:
- webuit_streamlit.py: contains the main layout as well as the functions that load the css which is needed by the layout.
- webui_streamlit_old.py: contains the code for the previous version of the WebUI. Will be removed once the new UI code starts to get used and if everything works as it should.
- txt2img.py: contains the code for the txt2img tab.
- img2img.py: contains the code for the img2img tab.
- txt2vid.py: contains the code for the txt2vid tab.
- sd_utils.py: contains utility functions used by more than one module, any function that meets such condition should be placed here.
- ModelManager.py: contains the code for the Model Manager page on the sidebar menu.
- Settings.py: contains the code for the Settings page on the sidebar menu.
- home.py: contains the code for the Home tab, history and gallery implemented by @devilismyfriend.
- imglab.py: contains the code for the Image Lab tab implemented by @devilismyfriend
2022-09-13 14:09:39 -07:00
unnamedplugins
0fc3e592f7 Merge branch 'dev' of github.com:unnamedplugins/stable-diffusion-webui into dev 2022-09-13 10:57:37 -04:00
unnamedplugins
0c0e80d909 Add mask restore feature to streamlit, prevent color correction from modifying initial image when mask_restore is turned on 2022-09-13 10:57:07 -04:00
hlky
92b3159909
half precision streamlit txt2vid
`RuntimeError: expected scalar type Half but found Float` with both `torch_dtype=torch.float16` and `revision="fp16"`
2022-09-13 13:26:36 +01:00
ZeroCool940711
cbbf33d735 Changed the loading of the model on the txt2vid tab so the half models are only loaded if the no_half option on the config file is set to False. 2022-09-13 01:49:03 -07:00
ZeroCool940711
299cef698d Merge remote-tracking branch 'origin/dev' into dev 2022-09-13 00:49:31 -07:00
ZeroCool940711
67cb1116c8 Made it so the sampling_steps is added to num_inference_steps, otherwise it would not match the value you set for it on the slider. 2022-09-13 00:47:30 -07:00
ZeroCool
0480804499
Merge branch 'dev' into feature/img2img-masking-fixes 2022-09-13 00:06:34 -07:00
Brian Semrau
003f97d52a img2img mask fixes and fix image2noise normalization 2022-09-13 02:04:26 -04:00
unnamedplugins
2af42fed51 Fix indentation error that prevents mask_restore from working unless ESRGAN is turned on 2022-09-12 23:01:59 -04:00
unnamedplugins
acc5f7591a Fix issue where loopback was using batch mode 2022-09-12 21:43:53 -04:00
ZeroCool940711
f80a2f69ca Commented some print statements that were used for debugging and forgot to remove previously. 2022-09-12 12:01:16 -07:00
ZeroCool940711
e4d3971db7 Merge remote-tracking branch 'origin/dev' into dev 2022-09-12 11:44:52 -07:00
ZeroCool940711
1117b5604a -Added the Update Image Preview option to be part of the current tab options under Preview Settings.
- Added Dynamic Preview Frequency option for the txt2vid tab which tries to find the lowest value for update_preview_frequency at which we can update the preview image during generation while at the same time minimizing the impact it has in performance.
- Added option to save a video file on the outputs/txt2vid-samples folder after the generation is complete similar to how the save_grid option works on other tabs.
- Added a video preview which shows a video on the txt2vid tab when the generation is completed.
- Formated some lines of code to make it use less space and fit on the a single screen.
- Added a script called Settings.py to the script folder in which Settings for the Setting page will be placed. Empty for now.
2022-09-12 11:44:00 -07:00
Thomas Mello
08bbbf7d6d
Merge pull request #1035 from raefu/negative-prompt-dev
support negative prompts separated by ###
2022-09-12 20:28:41 +03:00
Brian Semrau
224bbdf8d6 Add comments crediting code authors. (probably not enough, but better than none) 2022-09-12 10:26:01 -04:00
ZeroCool
ba63fd7004
Merge pull request #1040 from briansemrau/feature/st-img2img-masking
Add masking to streamlit img2img
2022-09-12 00:24:59 -07:00
Brian Semrau
1089ec1162 add masking to streamlit img2img, find_noise_for_image, matched_noise 2022-09-12 03:02:43 -04:00
ZeroCool940711
9c8ac62b3d Fixed an error with the metadata not able to be saved because of the seed was not converted to a string before so it had no attribute encode on it. 2022-09-11 23:57:29 -07:00
ZeroCool940711
36a1551465 - Added code for @Hafiidz's changes made on the css. 2022-09-11 23:11:42 -07:00
Rae Fu
2124b7208f support negative prompts separated by ###
e.g. "shopping mall ### people" will try to generate an image of a mall
without people in it.
2022-09-11 14:51:20 -06:00
M
9f8a7a61ad
webui: add prompt output to console (#1031)
* webui: add prompt output to console

show the user what prompt is currently being rendered

* fix prompt print location
2022-09-11 22:21:38 +03:00
ZeroCool
cf924ca11f
Merge branch 'sd-webui:dev' into dev 2022-09-11 10:43:01 -07:00
ZeroCool940711
20172d381e Multiple improvements to the txt2vid tab.
- Improved txt2vid speed by 2 times.
- Added DDIM scheduler.
- Added sliders for beta_start and beta_end to have more control over these parameters on the scheduler.
- Added option to select the scheduler type from scaled_linear or linear.
- Added option to save info files for the txt2vid tab and improved the information saved to include most of the parameters used to run the generation.
- You can now download any model from the huggingface website to use on the txt2vid tab, just add the name to the custom_models_list on the config file.
2022-09-11 10:42:17 -07:00
oc013
8a8b993fd5
Add missing comma for nsfw toggle in img2img (#1028) 2022-09-11 20:18:17 +03:00
M
a98753cf10
webui: display the GPU in use during startup (#994)
* webui: display the GPU in use during startup

tell the user which GPU the code is actually going to use before spending lots of time loading everything onto the GPU

* typo

* add some info messages

* evaluate current GPU properly

* add debug flag gating

not everyone wants or needs to see debug messages :)

* add in stray debug msg
2022-09-11 14:47:34 +03:00