* #715#699#698#663#625#617#611#604 (#716)
* Update README.md
* Add sampler name to metadata (#695)
Co-authored-by: EliEron <example@example.com>
* old-dev-merge
Co-authored-by: EliEron <subanimehd@gmail.com>
Co-authored-by: EliEron <example@example.com>
* img2img-fix (#717)
* Revert "img2img-fix (#717)"
This reverts commit 70d4b1ca2a.
* img2img fixes
* Revert "img2img fixes"
This reverts commit e66eddc621.
* Revert "Revert "img2img-fix (#717)""
This reverts commit bf08b617d4.
* img2img fixed
* - Removed duplicated calls to save_sample.
- Change variables and arguments to be more self-explanatory and easier to understand what they do.
* Moved streamlit files to their proper location, before they were incorrectly added to the repository root folder.
* Added retry dependency for the streamlit version.
* Added .cmd file for easy running and updating the streamlit version of the UI.
* Removed duplicated entry for streamlit on the environment.yaml file.
* Removed some unnecessary lines from the the webui_streamlit.cmd file.
* add gfpgan folder to gitignore, auto gen by imglab
* added placeholder text similar to gradio
* added auto conversion for 4 channel PNG to RGB
* fix: regex escape characters
* Update Readme links to sd-webui when appropriate (#781)
* Update link to sd-webui when appropriate
* added LDSR instruction per devilismyfriend guide
* fix: stack overflow during recursion call (#784)
* Added option to set default sampler name from config file, will be useful for those wanting to change the default sampler and have it persist even when closing the UI and opening it again.
* Added try and except block to handle basic errors like StopException which is raised by streamlit when you hit the stop button and KeyError which happens also when stopping the generation because it tries to check the model at the end which is not loaded at that time, this can be ignored and so thats the reason for the exception.
* separate css to external file
* Added "git pull" and "git stash" to the commands run by the cmd scripts when launching the UI, this should make it so people who use it can automatically update the code from the repo and be up to date without manually using those commands everytime.
* resolve conflict with master
Co-authored-by: EliEron <subanimehd@gmail.com>
Co-authored-by: EliEron <example@example.com>
Co-authored-by: ZeroCool <ZeroCool940711@users.noreply.github.com>
Co-authored-by: ZeroCool940711 <alejandrogilelias940711@gmail.com>
Co-authored-by: Hafiidz <3688500+Hafiidz@users.noreply.github.com>
Co-authored-by: Thomas Mello <work.mello@gmail.com>
* Added a progress bar as well as some extra info to know how the generation is going without having to check the console every time.
* - Updated the Image-to-image tab, it is now working at a basic level.
- Disabled RealESRGAN by default for the Image-to-Image tab as it is not working right now.
* Fixed the K Diffusion samplers not working as they had different callbacks than the DDIM and PLMS samplers, also removed some unnecessary code that was left over and are no longer needed now that we can use the K diffusion samplers directly.
* The GFPGAN and RealESRGAN checkboxes on the Advanced tab are no longer shown if said models are not available.
* - Implemented the basic layout for the Image-to-Image tab on the UI.
- Fixed the condition that checked if the GFPGAN and RealESRGAN models were present on their folders, it was previously checking if the folder existed instead of the model files inside of it.
- Removed the Basic tab from the Text-to-Image tab and changed the Advanced tab to be an expander, the basic tab was not actually been used on the streamlit version of the UI.
* Fixed the K Diffusion samplers not working as they had different callbacks than the DDIM and PLMS samplers, also removed some unnecessary code that was left over and are no longer needed now that we can use the K diffusion samplers directly.
* The GFPGAN and RealESRGAN checkboxes on the Advanced tab are no longer shown if said models are not available.
* Removing the need for a custom streamlit fork, as we are not using nested columns this is no longer needed.
* Moved the embeddings to the config file and changed the Ui so it only needs to call `defaults.general.fp` to get it.
* Changed the way the image preview is updated on the UI to now use the proper callback from the DDIM and PLMS samplers, for that reason we no longer need to have the code for those samplers inside the webui_streamlit.py file.
* Enhanced support for variants
I played a lot with variants and wanted to keep track of them by
extending the filename with the variant amount and variant seed.
While doing that, I found that currently, if you give a variant seed and
an image seed and generate more than one image, you end up with the
same image for all runs.
I used increasing variants with the same variant seed for creating
movies that show how a variant is increasingly deviating. I think
those are fascinating and added functionality to WebGUI.
If you now set a seed for the image and the variant and generate more
than one image, it will increase the variant amount by the initial
amount every step. So you can easily make a series of growing variants
and have them fully reproducible.
I hope I made sense :)
* Using the main seed for filenames on moving variants with same seed
* added image lab
* first release
model loading/unloading and save procedure added, commented out unused code from frontend
* bug fixes
Changed the image output to a gallery to display multiple items
Fixed results not showing up in output
Fixed RealESRGAN 2x mode not working and hard coded the default value for the reload.
* added GoBig model check
* added LDSR load check
* removed global statements, added model loader/unloader function
* fixed optimized mode
* update
* update
Added send to lab button
Added a print out if latent-diffusion folder isn't found
* brought back the fix faces and upscale in generation tab
* uncommenting img lab flag
* added LDSR instructions
* default imgProcessorTask set to false
* exposed LDSR settings to lab
users need to reclone the LDSR repo to use them.
* Update frontend.py
moving some stuff around to make them more coherent
* restored upscale and fix faces to img2img
* added notice section
* fixed gfpgan/upscaled pictures not showing in 2img interfaces
* send to lab button now sends info as well
* uncommented dimension info update
* added increment buttons to sampler for that k_euler_a action
* image lab settings toggle on and off with selection
* removed wip settings panel
* better model loading handling and removed increment buttons
* explaining
* disabled SD unloading in image lab upscaling with realesgan and face fix
* fixed a conflict with image lab
Co-authored-by: dr3amer <91037083+dr3am37@users.noreply.github.com>
Co-authored-by: hlky <106811348+hlky@users.noreply.github.com>
This adds a text box to Image Lab that displays the metadata
of any PNG files dropped on it. Can be used to read the info
saved with --save-metadata
Co-authored-by: hlky <106811348+hlky@users.noreply.github.com>
* Changed relauncher.py to have easier to set arguments for users, added inbrowser as an argument choice
Changed `relauncher.py` to have easier to set argument parameters for users to change. No longer is editing the main `os.system` string needed. Now, users can choose to set some of the commonly used arguments (totally open to more additions here) to be True or False, with an added area for users to enter their own custom arguments as desired.
This really should make it easier for users to toggle what parameters they wish to launch with, and prevents them from needing to edit the main launch string for the `webui.py` file.
Addition changes to `relauncher.py` include increasing the relaunch time from 0.5 seconds to 1 second, to allow for easier program closing from the Terminal.
Changed `webui.py` to now include an `--inbrowser` argument to open the interface automatically in a user's default browser. The default is set to `False`. Gradio params have also now been alphabetised. A notice was given to users waiting for port 7860 to open that it may take upwards of 60 seconds to become available.
* Added comments to describe what the changeable common arguments in relauncher.py do
* Changed relauncher.py to fit with requested changes
Added timeout for relauncher loop
Changed inbrowser argument variable to be more understandable
Co-authored-by: hlky <106811348+hlky@users.noreply.github.com>
* Add max-jobs command line argument
Adds a new command line argument, max-jobs, which will set the number
of concurrent jobs the gradio queue will allow. When set to more than
the default of 1 the gradio UI will be able to process additional
UI commands at the same time.
* JobManager: initial txt2img implementation
Initial implementation of JobManager, applied to txt2img.
Adds 'refresh' and 'cancel' buttons to the UI. These are useful when
generating images with large batch counts. The 'refresh' button will
update the gallery with the currently-generated images, and the cancel
button will cause the generation to stop after the current iteration.
The new job manager can be disabled with the parameter
--no-job-manager
* JobManager: Add status update text
* JobManager: Replace wrapped inputs as well
* JobManager: Per-session unique keys
* JobManager: Pre and Post call funcs, UI updates
Added pre- and post- function call 'dummy objects' to allow updating
the UI before and after a generate run. Update the visuals of the
buttons and status text in these new functions.
* JobManager: enforce maximum jobs
* JobManager: Move 'call' func code block
It just makes more sense between _pre and _post.
* JobManager: Add session management
Adds support for multiple browser sessions.
A single session cannot run the same job twice.
If there are no available jobs when Generate is clicked, the
generation aborts. It does *not* queue.
* JobManager: add session maintenance
Addded the ability for one session to stop all concurrent sessions,
and to free memory from any 'finished' sessions for which the
browser has been closed (as the images will be stored until the
browser does a final 'refresh' after the job finishes, which will
never happen if the browser closed)
* JobManager: Add img2img support
This *should* add JobManager to img2img, but it is untested
since img2img is broken for me even without my changes.
* Fixed img2img functionality on this pr
* Revert "Fixed img2img functionality on this pr"
This reverts commit 649b1e8e65.
* Img2Img: Fix 'image editor' options not visible
* Fix Img2Img Job Manager integration
* Img2Img UI: Move JobManager above Image Actions
It is helpful if it is on the screen when you hit generate, so
you can notice the button light up when generation starts.
* Improve job status text
* JobManager: Free available job on exception
* JobManager: Add queueing
Adds a simple queueing system to JobManager. If max-jobs concurrent
jobs are already active then any subsequent jobs will block until
a slot frees up.
Note: The UI does not give great feedback to this. The JobManager
status box will say "Loading..."
* JobManager: Fix queue accidentally LIFO
Queues should really be first in, first out.
* JobManager: add draw_gradio_ui function
Reduces a lot of boilerplate code in frontend.py
Co-authored-by: hlky <106811348+hlky@users.noreply.github.com>
* Added abilty to log prompts and info to one file instead of several
This is my first pull request be gentle I made changes so instead of having several files with prompts with one for each file you can just have one file with the prompt info I also made sure the prompts would work with params in prompts
* Add files via upload
* Fixed Image to image not working
* Add files via upload
* Revert "Add files via upload"
This reverts commit bb10b632bf.
* updated log
Co-authored-by: hlky <106811348+hlky@users.noreply.github.com>