179 Commits

Author SHA1 Message Date
Jedrzej Kosinski
d38c535771 Turn off hook patch caching when only 1 hook present in sampling, replace some current_hook = None with calls to self.patch_hooks(None) instead to avoid a potential edge case 2024-11-20 18:57:18 -06:00
Jedrzej Kosinski
638c4086a3 Fixed inconsistency of results when schedule_clip is set to False, small renaming/typo fixing, added initial support for ControlNet extra_hooks to work in tandem with normal cond hooks, initial work on calc_cond_batch merging all subdicts in returned transformer_options 2024-11-11 08:41:08 -06:00
Jedrzej Kosinski
9dde713347 Refactored hooks in calc_cond_batch to be part of get_area_and_mult tuple, added extra_hooks to ControlBase to allow custom controlnets w/ hooks, small cleanup and renaming 2024-11-04 05:46:27 -06:00
Jedrzej Kosinski
0fbefb8428 Refactored code to store wrappers and callbacks in transformer_options, added apply_model and diffusion_model.forward wrappers 2024-11-03 06:22:48 -06:00
Jedrzej Kosinski
51e8d5554c Moved WrappersMP/CallbacksMP/WrapperExecutor to patcher_extension.py 2024-11-02 22:21:16 -05:00
Jedrzej Kosinski
3bcbcce88d Merge branch 'master' into patch_hooks 2024-10-31 18:34:05 -05:00
Jedrzej Kosinski
d5169df808 Added initial support within CLIP Text Encode (Prompt) node for scheduling weight hook CLIP strength via clip_start_percent/clip_end_percent on conds, added schedule_clip toggle to Set CLIP Hooks node, small cleanup/fixes 2024-10-30 04:56:09 -05:00
comfyanonymous
5cbb01bc2f Basic Genmo Mochi video model support.
To use:
"Load CLIP" node with t5xxl + type mochi
"Load Diffusion Model" node with the mochi dit file.
"Load VAE" with the mochi vae file.

EmptyMochiLatentVideo node for the latent.
euler + linear_quadratic in the KSampler node.
2024-10-26 06:54:00 -04:00
Jedrzej Kosinski
daeb2624a9 Fixed default conds not respecting hook keyframes, made keyframes not reset cache when strength is unchanged, fixed Cond Set Default Combine throwing error, fixed model-as-lora throwing error during calculate_weight after a recent ComfyUI update, small refactoring/scaffolding changes for hooks 2024-10-25 18:32:22 -05:00
Jedrzej Kosinski
4bbdf2bfe5 Merge branch 'master' into patch_hooks 2024-10-23 21:10:46 -05:00
comfyanonymous
f82314fcfc Fix duplicate sigmas on beta scheduler. 2024-10-21 20:19:45 -04:00
Jedrzej Kosinski
1e2777bab1 Added uuid to conds in CFGGuider and uuids to transformer_options to allow uniquely identifying conds in batches during sampling 2024-10-08 17:52:01 -05:00
Jedrzej Kosinski
06fbdb03ef Merge branch 'master' into patch_hooks 2024-10-05 06:43:43 -05:00
kosinkadink1@gmail.com
0c8bd63aa9 Added Combine versions of Cond/Cond Pair Set Props nodes, renamed Pair Cond to Cond Pair, fixed default conds never applying hooks (due to hooks key typo) 2024-09-27 14:42:50 +09:00
kosinkadink1@gmail.com
0f7d379d24 Refactored WrapperExecutor code to remove need for WrapperClassExecutor (now gone), added sampler.sample wrapper (pending review, will likely keep but will see what hacks this could currently let me get rid of in ACN/ADE) 2024-09-27 12:14:36 +09:00
kosinkadink1@gmail.com
09cbd69161 Added create_model_options_clone func, modified type annotations to use __future__ so that I can use the better type annotations 2024-09-25 20:29:49 +09:00
kosinkadink1@gmail.com
fd2d572447 Modified ControlNet/T2IAdapter get_control function to receive transformer_options as additional parameter, made the model_options stored in extra_args in inner_sample be a clone of the original model_options instead of same ref 2024-09-25 19:46:33 +09:00
chaObserv
479a427a48
Add dpmpp_2m_cfg_pp (#4992) 2024-09-24 02:42:56 -04:00
kosinkadink1@gmail.com
7c86407619 Refactored callbacks+wrappers to allow storing lists by id 2024-09-22 16:36:40 +09:00
kosinkadink1@gmail.com
5052a78be2 Added WrapperExecutor for non-classbound functions, added calc_cond_batch wrappers 2024-09-22 11:52:35 +09:00
kosinkadink1@gmail.com
59d72b4050 Added wrappers to ModelPatcher to facilitate standardized function wrapping 2024-09-20 20:05:29 +09:00
kosinkadink1@gmail.com
787ef34842 Continued work on simpler Create Hook Model As LoRA node, started to implement ModelPatcher callbacks, attachments, and additional_models 2024-09-19 11:47:25 +09:00
kosinkadink1@gmail.com
4b472ba44c Added support for adding weight hooks that aren't registered on the ModelPatcher at sampling time 2024-09-17 06:22:41 +09:00
kosinkadink1@gmail.com
f5c899f42a Fixed MaxSpeed and default conds implementations 2024-09-15 21:00:45 +09:00
kosinkadink1@gmail.com
9ded65a616 Added initial set of hook-related nodes, added code to register hooks for loras/model-as-loras, small renaming/refactoring 2024-09-15 08:33:17 +09:00
kosinkadink1@gmail.com
5dadd97583 Added default_conds support in calc_cond_batch func 2024-09-14 17:21:50 +09:00
kosinkadink1@gmail.com
f160d46340 Added call to initialize_timesteps on hooks in process_conds func, and added call prepare current keyframe on hooks in calc_cond_batch 2024-09-14 16:10:42 +09:00
kosinkadink1@gmail.com
9ae758175d Added current_patcher property to BaseModel 2024-09-13 21:35:35 +09:00
kosinkadink1@gmail.com
3cbd40ada3 Initial changes to calc_cond_batch to eventually support hook_patches 2024-09-13 18:31:52 +09:00
yoinked
b5d0f2a908
Add CFG++ to DPM++ 2S Ancestral (#3871)
* Update sampling.py

* Update samplers.py

* my bad

* "fix" the sampler

* Update samplers.py

* i named it wrong

* minor sampling improvements

mainly using a dynamic rho value (hey this sounds a lot like smea!!!)

* revert rho change

rho? r? its just 1/2
2024-09-11 02:49:44 -04:00
Jim Winkens
bb52934ba4
Fix import issue (#4815) 2024-09-07 05:28:32 -04:00
comfyanonymous
2622c55aff Automatically use RF variant of dpmpp_2s_ancestral if RF model. 2024-08-18 00:47:25 -04:00
Ashen
1beb348ee2 dpmpp_2s_ancestral_RF for rectified flow (Flux, SD3 and Auraflow). 2024-08-18 00:33:30 -04:00
comfyanonymous
63a7e8edba More aggressive batch splitting. 2024-08-03 11:53:30 -04:00
comfyanonymous
95fa9545f1 Only append zero to noise schedule if last sigma isn't zero. 2024-07-20 12:37:30 -04:00
comfyanonymous
6ab8cad22e Implement beta sampling scheduler.
It is based on: https://arxiv.org/abs/2407.12173

Add "beta" to the list of schedulers and the BetaSamplingScheduler node.
2024-07-19 18:05:09 -04:00
Extraltodeus
f1a01c2c7e
Add sampler_pre_cfg_function (#3979)
* Update samplers.py

* Update model_patcher.py
2024-07-09 16:20:49 -04:00
comfyanonymous
05e831697a Switch to the real cfg++ method in the samplers.
The old _pp ones will be updated automatically to the regular ones with 2x
the cfg.

My fault for not checking what the "_pp" samplers actually did.
2024-06-29 11:59:48 -04:00
comfyanonymous
44947e7ad4 Add DEIS order 3 sampler.
Order 4 seems to give bad results.
2024-06-26 22:40:05 -04:00
comfyanonymous
69d710e40f Implement my alternative take on CFG++ as the euler_pp sampler.
Add euler_ancestral_pp which is the ancestral version of euler with the
same modification.
2024-06-25 07:41:52 -04:00
comfyanonymous
d5efde89b7 Add ipndm_v sampler, works best with the exponential scheduler. 2024-06-20 08:51:49 -04:00
comfyanonymous
e11052afcf Add ipndm sampler. 2024-06-19 16:32:30 -04:00
comfyanonymous
a5e6a632f9 Support sampling non 2D latents. 2024-06-10 01:31:09 -04:00
comfyanonymous
f81a6fade8 Fix some edge cases with samplers and arrays with a single sigma. 2024-05-01 17:05:30 -04:00
Jedrzej Kosinski
7990ae18c1
Fix error when more cond masks passed in than batch size (#3353) 2024-04-26 12:51:12 -04:00
comfyanonymous
0f5768e038 Fix missing arguments in cfg_function. 2024-04-04 23:38:57 -04:00
comfyanonymous
1a0486bb96 Fix model needing to be loaded on GPU to generate the sigmas. 2024-04-04 22:08:49 -04:00
comfyanonymous
c6bd456c45 Make zero denoise a NOP. 2024-04-04 11:41:27 -04:00
comfyanonymous
fcfd2bdf8a Small cleanup. 2024-04-04 11:16:49 -04:00
comfyanonymous
0542088ef8 Refactor sampler code for more advanced sampler nodes part 2. 2024-04-04 01:26:41 -04:00