Commit Graph

844 Commits

Author SHA1 Message Date
Manuel Schmid b64d6d393c
fix: use != for literal comparison 2024-06-16 18:49:52 +02:00
Manuel Schmid 9d41c9521b
fix: add workaround for same value in Steps IntEnum (#3153) 2024-06-16 18:44:16 +02:00
Manuel Schmid af209cda53
fix: add workaround for same value in Steps IntEnum
(cherry picked from commit ea1562d078)
2024-06-16 18:41:17 +02:00
Manuel Schmid bf6820812f
feat: only process enhance when checkbox is set
similar to input image
2024-06-16 18:39:40 +02:00
Manuel Schmid ea1562d078
fix: add workaround for same value in Steps IntEnum 2024-06-16 17:46:48 +02:00
Manuel Schmid 3e453501f7
fix: correctly identify and remove performance LoRA (#3150) 2024-06-16 16:52:58 +02:00
Manuel Schmid b947a5a4e6
fix: correctly identify and remove performance LoRA
(cherry picked from commit b3e4506009)
2024-06-16 16:48:35 +02:00
Manuel Schmid b3e4506009
fix: correctly identify and remove performance LoRA 2024-06-16 16:48:12 +02:00
Manuel Schmid 541fb2d445
feat: add support for enhance prompts 2024-06-16 15:58:27 +02:00
Manuel Schmid ef9fd293ff
wip: rename stage2 to enhance 2024-06-16 12:45:18 +02:00
Manuel Schmid 8b21303542
wip: refactor UI for stage2 2024-06-15 01:38:22 +02:00
Manuel Schmid a71739026b
refactor: change wording of hint when nothing has been detected 2024-06-13 01:19:28 +02:00
Manuel Schmid f8f36828c7
feat: add disclaimer + skipping, stage2 won't properly work when used with inpaint or outpaint 2024-06-13 01:13:21 +02:00
Manuel Schmid dbc844804b
feat: add handling for stage2_mask_sam_max_num_boxes and config 2024-06-12 22:16:02 +02:00
Manuel Schmid 9998b52dd2
feat: add gradio elements for input 2024-06-12 21:52:48 +02:00
Manuel Schmid 190c4b0a6f
fix: do not set denoising_strength to async_worker dynamically
use parameter input and output
2024-06-12 21:51:49 +02:00
Manuel Schmid e055510f1b
fix: use correct mask dimensions 2024-06-11 00:12:02 +02:00
Manuel Schmid ead1ed617a
refactor: remove adetailer code 2024-06-10 23:46:25 +02:00
Manuel Schmid b8578a080a
fix: remove already declared config option 2024-06-10 20:46:25 +02:00
Manuel Schmid 3873892b0a
feat: change default_inpaint_mask_sam_model to match sam model registry 2024-06-10 20:45:56 +02:00
Manuel Schmid ce1fb74270
feat: add download for sam models to config 2024-06-10 20:33:49 +02:00
Manuel Schmid 8087861743
refactor: reorder inpaint_mask_sam_model by model size ascending 2024-06-09 18:46:18 +02:00
Manuel Schmid 9affa32583
feat: set inpaint_respective_field manually 2024-06-09 01:36:32 +02:00
Manuel Schmid 85b9005fa7
wip: adjust progressbar 2024-06-09 01:23:44 +02:00
Manuel Schmid 5d8353eb74
fix: correctly reset pipeline
reset unet and inpaint worker after each adetailer task, improve memory efficiency
2024-06-09 01:10:11 +02:00
Manuel Schmid df70294a3e
wip: add adetailer 2024-06-08 23:30:45 +02:00
Manuel Schmid bb72938261
refactor: always use format width, height 2024-06-08 21:41:30 +02:00
Manuel Schmid c79f6bd461
refactor: move methods to handler scope 2024-06-08 20:33:47 +02:00
Manuel Schmid c1f62361ba
refactor: add EarlyReturnException to prevent return value issues 2024-06-08 20:25:50 +02:00
Manuel Schmid e58d913fbb
refactor: extract async_worker handle method into separate functions 2024-06-08 19:55:31 +02:00
Manuel Schmid 9c352b6eb7
Merge branch 'main_upstream'
# Conflicts:
#	fooocus_version.py
#	modules/config.py
#	modules/extra_utils.py
2024-06-06 19:50:15 +02:00
Manuel Schmid db36766f34
Merge branch 'fix/try-parse-env-var-strings-as-boolean'
# Conflicts:
#	modules/config.py
2024-06-06 19:40:14 +02:00
Manuel Schmid 5abae220c5
feat: parse env var strings to expected config value types (#3107)
* fix: add try_parse_bool for env var strings to enable config overrides of boolean values

* fix: fallback to given value if not parseable

* feat: extend eval to all valid types

* fix: remove return type

* fix: prevent strange type conversions by providing expected type

* feat: add tests
2024-06-06 19:29:08 +02:00
Manuel Schmid 09be2c972c
fix: prevent strange type conversions by providing expected type 2024-06-06 19:13:17 +02:00
Manuel Schmid 2186d3e15d
fix: remove return type 2024-06-06 18:38:58 +02:00
Manuel Schmid bef79e3cb4
feat: extend eval to all valid types 2024-06-06 18:37:00 +02:00
Manuel Schmid beab2b9d48
fix: fallback to given value if not parseable 2024-06-06 18:20:14 +02:00
Manuel Schmid c4faf2ae6c
fix: add try_parse_bool for env var strings to enable config overrides of boolean values 2024-06-06 18:05:55 +02:00
Manuel Schmid c8093ac1ca
Merge branch 'lllyasviel:main' into main 2024-06-06 14:03:19 +02:00
Manuel Schmid 04d764820e
fix: correctly set alphas_cumprod (#3106) 2024-06-06 13:42:26 +02:00
Manuel Schmid b113eca87e
release: bump version to 2.4.2, update changelog 2024-06-05 21:58:51 +02:00
Manuel Schmid 2d55a5f257
feat: add support for playground v2.5 (#3073)
* feat: add support for playground v2.5

* feat: add preset for playground v2.5

* feat: change URL to mashb1t

* feat: optimize playground v2.5 preset
2024-06-04 20:15:49 +02:00
Manuel Schmid cb24c686b0
Merge branch 'main_upstream' into develop_upstream 2024-06-04 20:11:42 +02:00
Manuel Schmid 30b2a9536e
Merge branch 'feature/playground-2.5'
# Conflicts:
#	modules/flags.py
2024-06-01 23:31:19 +02:00
Manuel Schmid 778416c5e0
Merge branch 'main_upstream' 2024-06-01 23:25:21 +02:00
Manuel Schmid fe58df35c9
feat: add support for playground 2.5 2024-06-01 22:43:27 +02:00
Manuel Schmid 7899261755
fix: turbo scheduler loading issue (#3065)
* fix: correctly load ModelPatcher

* feat: do not load model at all, not needed
2024-05-31 22:24:19 +02:00
Manuel Schmid 4e658bb63a
feat: optimize performance lora filtering in metadata (#3048)
* feat: add remove_performance_lora method

* feat: use class PerformanceLoRA instead of strings in config

* refactor: cleanup flags, use __member__ to check if enums contains key

* feat: only filter lora of selected performance instead of all performance LoRAs

* fix: disable intermediate results for all restricted performances

too fast for Gradio, which becomes a bottleneck

* refactor: rename parse_json to to_json, rename parse_string to to_string

* feat: use speed steps as default instead of hardcoded 30

* feat: add method to_steps to Performance

* refactor: remove method ordinal_suffix, not needed anymore

* feat: only filter lora of selected performance instead of all performance LoRAs

both metadata and history log

* feat: do not filter LoRAs in metadata parser but rather in metadata load action
2024-05-30 16:14:28 +02:00
Manuel Schmid 5768330142
Merge branch 'feature/optimize-performance-lora-filtering-in-metadata'
# Conflicts:
#	modules/flags.py
#	modules/util.py
#	webui.py
2024-05-30 15:21:04 +02:00
Manuel Schmid 2dca5ba638
feat: do not filter LoRAs in metadata parser but rather in metadata load action 2024-05-30 01:32:09 +02:00
Manuel Schmid 91281e5561
feat: only filter lora of selected performance instead of all performance LoRAs
both metadata and history log
2024-05-30 00:22:31 +02:00
Manuel Schmid 9c8ffbbe18
refactor: remove method ordinal_suffix, not needed anymore 2024-05-30 00:21:18 +02:00
Manuel Schmid 1981ace9e1
feat: add method to_steps to Performance 2024-05-30 00:20:53 +02:00
Manuel Schmid f8f2455b65
feat: use speed steps as default instead of hardcoded 30 2024-05-30 00:20:23 +02:00
Manuel Schmid db8228d8f5
refactor: rename parse_json to to_json, rename parse_string to to_string 2024-05-30 00:19:35 +02:00
Manuel Schmid e3060e00d4
feat: only filter lora of selected performance instead of all performance LoRAs 2024-05-30 00:16:34 +02:00
Manuel Schmid 55b01a81a6
refactor: cleanup flags, use __member__ to check if enums contains key 2024-05-30 00:14:27 +02:00
Manuel Schmid 9564341fbd
feat: use class PerformanceLoRA instead of strings in config 2024-05-30 00:13:14 +02:00
Manuel Schmid 4127fa410b
feat: add remove_performance_lora method 2024-05-30 00:11:07 +02:00
Manuel Schmid 4361e7e629
Merge remote-tracking branch 'upstream/main' 2024-05-27 00:30:53 +02:00
Manuel Schmid dfff9b7dcf
fix: adjust clip skip default value from 1 to 2 (#3011)
* Revert "Revert "feat: add clip skip handling (#2999)" (#3008)"

This reverts commit 989a1ad52b.

* feat: use clip skip 2 as default
2024-05-27 00:28:22 +02:00
Manuel Schmid 08877666ba
Merge branch 'main_upstream' 2024-05-26 22:14:20 +02:00
Manuel Schmid 989a1ad52b
Revert "feat: add clip skip handling (#2999)" (#3008)
This reverts commit cc58fe5270.
2024-05-26 22:07:44 +02:00
Manuel Schmid 6dd718919c
feat: cleanup performance selection, make it completely dynamic 2024-05-26 18:09:22 +02:00
Manuel Schmid f82aa8a909
Merge branch 'develop_upstream'
# Conflicts:
#	fooocus_version.py
#	modules/util.py
#	tests/test_utils.py
#	webui.py
2024-05-26 15:28:08 +02:00
Manuel Schmid cc58fe5270
feat: add clip skip handling (#2999) 2024-05-26 14:18:19 +02:00
Alexdnk d850bca09f
feat: read value 'CFG Mimicking from TSNR' (adaptive_cfg) from presets (#2990) 2024-05-24 22:05:28 +02:00
Manuel Schmid 04f64ab0bc
feat: add translation for image size describe (#2992) 2024-05-24 21:58:17 +02:00
xhoxye 302bfdf855
feat: read size and ratio of an image and provide the recommended size (#2971)
* Add the information about the size and ratio of the read image

* feat: use available aspect ratios from config, move function to util, change default visibility of label

* refactor: extract sdxl aspect ratios to flags, use in describe

as discussed in
https://github.com/lllyasviel/Fooocus/pull/2971#discussion_r1608493765
https://github.com/lllyasviel/Fooocus/pull/2971#issuecomment-2123620595

---------

Co-authored-by: Manuel Schmid <dev@mash1t.de>
Co-authored-by: Manuel Schmid <9307310+mashb1t@users.noreply.github.com>
2024-05-22 20:47:44 +02:00
Manuel Schmid ebae829f43
Merge branch 'read-image-size'
# Conflicts:
#	modules/util.py
#	webui.py
2024-05-22 20:44:22 +02:00
Manuel Schmid 751e867b37
refactor: extract sdxl aspect ratios to flags, use in describe
as discussed in
https://github.com/lllyasviel/Fooocus/pull/2971#discussion_r1608493765
https://github.com/lllyasviel/Fooocus/pull/2971#issuecomment-2123620595
2024-05-22 20:38:03 +02:00
Manuel Schmid 311c445090
feat: use available aspect ratios from config, move function to util, change default visibility of label 2024-05-21 22:31:27 +02:00
Manuel Schmid 7537612bcc
feat: only use valid inline loras, add subfolder support (#2968) 2024-05-20 19:21:41 +02:00
Manuel Schmid de1c77a923
Merge branch 'feature/inline-lora-optimisations-2'
# Conflicts:
#	modules/util.py
#	tests/test_utils.py
2024-05-20 19:19:33 +02:00
Manuel Schmid 045d03ddad
feat: only use valid inline loras, add subfolder support 2024-05-20 19:08:35 +02:00
Manuel Schmid 65a8b25129
feat: inline lora optimisations (#2967)
* feat: add performance loras to the end of the loras array

* fix: resolve circular dependency for unit tests

* feat: allow multiple matches for each token, optimize and extract method cleanup_prompt

* fix: update unit tests

* feat: ignore custom wildcards
2024-05-20 17:31:51 +02:00
Manuel Schmid 44b46bffba
Merge branch 'feature/inline-lora-optimisations' 2024-05-20 17:31:30 +02:00
Manuel Schmid 0d1310d9e9
feat: allow multiple matches for each token, optimize and extract method cleanup_prompt 2024-05-20 17:28:55 +02:00
Manuel Schmid faa985c71c
fix: resolve circular dependency for unit tests 2024-05-20 17:27:16 +02:00
Manuel Schmid f030490144
feat: add performance loras to the end of the loras array 2024-05-20 17:26:17 +02:00
Manuel Schmid dd5a14ac7f
Merge branch 'feature/progress-bar'
# Conflicts:
#	fooocus_version.py
#	modules/async_worker.py
#	webui.py
2024-05-19 20:54:53 +02:00
Manuel Schmid c995511705
feat: progress bar improvements (#2962)
* feat: align progress bar vertically

* feat: use fixed width for status text, remove ordinals

* refactor: align progress to actions
2024-05-19 20:43:11 +02:00
Manuel Schmid 5d8eb5235a
refactor: align progress to actions 2024-05-19 20:33:21 +02:00
Manuel Schmid 888de56290
feat: use fixed width for status text, remove ordinals 2024-05-19 20:13:29 +02:00
Manuel Schmid 35b74dfa64
feat: optimize model management of image censoring (#2960)
now follows general Fooocus model management principles + includes code optimisations for reusability
2024-05-19 18:36:47 +02:00
Manuel Schmid dad228907e
fix: remove leftover code from hyper-sd8 testing (#2959) 2024-05-19 17:42:46 +02:00
Manuel Schmid 13599edb9b
feat: add performance hyper-sd based on 4step LoRA (#2812)
* feat: add performance hyper-sd based on 4step LoRA

* feat: use LoRA weight 0.8, sampler dpmpp_sde_gpu and scheduler_name karras

suggested in https://github.com/lllyasviel/Fooocus/discussions/2813#discussioncomment-9245251
results see https://github.com/lllyasviel/Fooocus/discussions/2813#discussioncomment-9275251

* feat: change ByteDance huggingface profile with mashb1t

* wip: add hyper-sd 8 step cfg lora with negative prompt support

* feat: remove hyper-sd8 performance

still waiting for the release of hyper-sd 4step CFG LoRA, not yet satisfied with any of the CFG LoRAs compared to non-cfg ones.
see https://huggingface.co/ByteDance/Hyper-SD
2024-05-19 13:23:08 +02:00
Manuel Schmid 2e2e8f851a
feat: add tcd sampler and discrete distilled tcd scheduler based on sgm_uniform (same as lcm) (#2907) 2024-05-19 13:08:33 +02:00
cantor-set 3bae73e23e
feat: add support for lora inline prompt references (#2323)
* Adding support to inline prompt references

* Added unittests

* Added an initial documentation for development guidelines

* Added a negative number

* renamed parameter

* removed wrongly committed file

* Code fixes

* Fixed circular reference

* Fixed typo. Added TODO

* Fixed merge

* Code cleanup

* Added missing refernce function

* Removed function from util.py... again...

* Update modules/async_worker.py

Implemented suggested change

Co-authored-by: Manuel Schmid <9307310+mashb1t@users.noreply.github.com>

* Removed another circular reference

* Renamed module

* Addressed PR comments

* Added return type to function

* refactor: move apply_wildcards to module util

* refactor: code cleanup, unify usage of tuples in lora list

* docs: add instructions for running unittests on embedded python, code cleanup

* refactor: code cleanup, move makedirs_with_log back to util

---------

Co-authored-by: cantor-set <cantor-set@no-email.net>
Co-authored-by: Manuel Schmid <9307310+mashb1t@users.noreply.github.com>
Co-authored-by: Manuel Schmid <dev@mash1t.de>
2024-05-18 17:19:46 +02:00
Manuel Schmid 3a55e7e391
feat: add AlignYourStepsScheduler (#2905) 2024-05-18 15:53:34 +02:00
Manuel Schmid 00d3d1b4b3
feat: add nsfw image censoring via config and checkbox (#958)
* add nsfw image censoring

activatable via config, uses CompVis/stable-diffusion-safety-checker

* fix progressbar call for nsfw output

* use config to set cache dir for safety checker

* add checkbox black_out_nsfw

makes both enabling via config and checkbox possible, where config overrides the checkbox value

* fix: add missing diffusers package

* feat: extract safety checker, remove dependency to diffusers

* feat: make code compatible again after merge with main

* feat: move censor to extras, optimize safety checker file handling

* refactor: rename folder safety_checker_models to safety_checker
2024-05-18 15:50:28 +02:00
Manuel Schmid 44ac5db94f
Merge branch 'develop_upstream' 2024-05-17 18:27:42 +02:00
e52fa787 5e594685e1
fix: do not close meta tag in HTML header (#2740)
* fixed typo in HTML (extra </meta> tag)

* refactor: remove closing slash for meta tag

as of specification in https://html.com/tags/meta/, meta tagas are null elements:
This element must not contain any content, and does not need a closing tag.

---------

Co-authored-by: Manuel Schmid <9307310+mashb1t@users.noreply.github.com>
2024-05-17 17:25:56 +02:00
Manuel Schmid 4d46fb6bcb
Merge branch 'feature/add-tcd-sampler'
# Conflicts:
#	modules/flags.py
2024-05-15 17:17:02 +02:00
Manuel Schmid badbe6e53b
Merge branch 'feature/add-align-your-steps-scheduler'
# Conflicts:
#	presets/anime.json
2024-05-15 17:15:47 +02:00
Manuel Schmid 77acf8126a
wip: add tcd sampler
adapted code from https://github.com/comfyanonymous/ComfyUI/pull/3370
TODO: check if virtual scheduler tcd is needed for using sampling_base ModelSamplingDiscreteDistilled or if it's better to use sgm_uniform directly without patching
2024-05-12 19:42:28 +02:00
Manuel Schmid c507556bfd
feat: add AlignYourStepsScheduler
794a357f7a/comfy_extras/nodes_align_your_steps.py
https://research.nvidia.com/labs/toronto-ai/AlignYourSteps/howto.html
2024-05-12 17:06:13 +02:00
Manuel Schmid 0c9fe7f99e
Merge remote-tracking branch 'upstream/develop' 2024-05-09 22:27:36 +02:00
docppp bdd6b1a9b0
feat: add full raw prompt to history log (#1920)
* Update async_worker.py

* Update private_logger.py

* refactor: only show full prompt details in logs, exclude from image metadata

---------

Co-authored-by: Manuel Schmid <9307310+mashb1t@users.noreply.github.com>
Co-authored-by: Manuel Schmid <dev@mash1t.de>
2024-05-09 20:25:43 +02:00
Manuel Schmid 1ecc07ff47
Merge commit '1a9faf4d1bed0af009b5b56810ce85b40ca72097' 2024-05-09 19:21:08 +02:00