117 Commits

Author SHA1 Message Date
comfyanonymous
92f7466c12 Merge branch 'feature_expose_discard_penultimate_sigma' of https://github.com/blepping/ComfyUI 2024-02-11 12:23:30 -05:00
Jedrzej Kosinski
3172bb042e Fix infinite while loop being possible in ddim_scheduler 2024-02-09 17:11:34 -06:00
blepping
5b3c8f3506 Allow custom samplers to request discard penultimate sigma 2024-02-08 02:24:23 -07:00
comfyanonymous
50fb52bc5b Remove some unused imports. 2024-01-25 23:42:37 -05:00
Dr.Lt.Data
f91644b5e9 typo fix - calculate_sigmas_scheduler (#2619)
self.scheduler -> scheduler_name

Co-authored-by: Lt.Dr.Data <lt.dr.data@gmail.com>
2024-01-23 03:47:01 -05:00
comfyanonymous
a36114ce30 Implement noise augmentation for SD 4X upscale model. 2024-01-03 14:27:11 -05:00
comfyanonymous
066f11873e Fix regression with inpaint model. 2023-12-19 02:32:59 -05:00
comfyanonymous
bf90151704 Fix SAG not working with cfg 1.0 2023-12-18 17:03:32 -05:00
comfyanonymous
183307e3de Fix SDXL area composition sometimes not using the right pooled output. 2023-12-18 12:54:23 -05:00
Hari
72500f183b Implement Perp-Neg 2023-12-16 00:28:16 +05:30
comfyanonymous
743e80a273 Improve code legibility. 2023-12-14 11:41:49 -05:00
comfyanonymous
85cbdd661b Fix cfg being calculated more than once if sampler_cfg_function. 2023-12-13 20:28:04 -05:00
comfyanonymous
b83523b241 Refactor and improve the sag node.
Moved all the sag related code to comfy_extras/nodes_sag.py
2023-12-13 16:11:26 -05:00
Rafie Walker
58df1767b4 Implement Self-Attention Guidance (#2201)
* First SAG test

* need to put extra options on the model instead of patcher

* no errors and results seem not-broken

* Use @ashen-uncensored formula, which works better!!!

* Fix a crash when using weird resolutions. Remove an unnecessary UNet call

* Improve comments, optimize memory in blur routine

* SAG works with sampler_cfg_function
2023-12-13 15:52:11 -05:00
comfyanonymous
f54c2bf6fb Cleanup. 2023-12-08 16:02:08 -05:00
comfyanonymous
5514c4b8ce Invert the start and end percentages in the code.
This doesn't affect how percentages behave in the frontend but breaks
things if you relied on them in the backend.

percent_to_sigma goes from 0 to 1.0 instead of 1.0 to 0 for less confusion.

Make percent 0 return an extremely large sigma and percent 1.0 return a
zero one to fix imprecision.
2023-11-16 04:23:44 -05:00
comfyanonymous
e5eeb33ac4 heunpp2 sampler. 2023-11-14 23:50:55 -05:00
comfyanonymous
702395d4ad Clean up and refactor sampler code.
This should make it much easier to write custom nodes with kdiffusion type
samplers.
2023-11-14 00:39:34 -05:00
comfyanonymous
21ea9c3263 Allow different models to estimate memory usage differently. 2023-11-12 04:03:52 -05:00
comfyanonymous
56fac7fde1 sampling_function now has the model object as the argument. 2023-11-12 03:45:10 -05:00
comfyanonymous
d4b8742089 Remove useless argument from uni_pc sampler. 2023-11-12 01:25:33 -05:00
comfyanonymous
5b4cacf352 Working RescaleCFG node.
This was broken because of recent changes so I fixed it and moved it from
the experiments repo.
2023-11-10 20:52:10 -05:00
comfyanonymous
43dcfcd754 Support lcm models.
Use the "lcm" sampler to sample them, you also have to use the
ModelSamplingDiscrete node to set them as lcm models to use them properly.
2023-11-09 18:30:22 -05:00
comfyanonymous
f019f896c6 Don't convert Nan to zero.
Converting Nan to zero is a bad idea because it makes it hard to tell when
something went wrong.
2023-11-03 13:13:15 -04:00
comfyanonymous
f10036cbf7 sampler_cfg_function now gets the noisy output as argument again.
This should make things that use sampler_cfg_function behave like before.

Added an input argument for those that want the denoised output.

This means you can calculate the x0 prediction of the model by doing:
(input - cond) for example.
2023-11-01 21:24:08 -04:00
comfyanonymous
ff096742bd Not used anymore. 2023-11-01 00:01:30 -04:00
comfyanonymous
be85c3408b Fix some issues with sampling precision. 2023-10-31 23:49:29 -04:00
comfyanonymous
169b76657b Clean up percent start/end and make controlnets work with sigmas. 2023-10-31 22:14:32 -04:00
comfyanonymous
11e03afad6 Remove a bunch of useless code.
DDIM is the same as euler with a small difference in the inpaint code.
DDIM uses randn_like but I set a fixed seed instead.

I'm keeping it in because I'm sure if I remove it people are going to
complain.
2023-10-31 18:11:29 -04:00
comfyanonymous
ab0cfba6d1 Sampling code changes.
apply_model in model_base now returns the denoised output.

This means that sampling_function now computes things on the denoised
output instead of the model output. This should make things more consistent
across current and future models.
2023-10-31 17:33:43 -04:00
comfyanonymous
141c4ffcba Refactor to make it easier to add custom conds to models. 2023-10-24 23:31:12 -04:00
comfyanonymous
5ee8c5fafc Sampling code refactor to make it easier to add more conds. 2023-10-24 03:38:41 -04:00
comfyanonymous
370c837794 Fix uni_pc sampler math. This changes the images this sampler produces. 2023-10-20 04:16:53 -04:00
comfyanonymous
f18406d838 Make sure cond_concat is on the right device. 2023-10-19 01:14:25 -04:00
comfyanonymous
516c334a26 Refactor cond_concat into conditioning. 2023-10-18 20:36:58 -04:00
comfyanonymous
5cf44c22ad Refactor cond_concat into model object. 2023-10-18 16:48:37 -04:00
comfyanonymous
eeadcff352 Add SamplerDPMPP_2M_SDE node. 2023-09-28 21:56:23 -04:00
comfyanonymous
97bd301d8f Add missing samplers to KSamplerSelect. 2023-09-28 00:17:03 -04:00
comfyanonymous
67a9216de5 Scheduler code refactor. 2023-09-26 17:07:07 -04:00
comfyanonymous
cbeebba747 Sampling code refactor. 2023-09-26 13:45:15 -04:00
comfyanonymous
02f4208e1f Allow having a different pooled output for each image in a batch. 2023-09-21 01:14:42 -04:00
comfyanonymous
6d227d6fe0 Add cond_or_uncond array to transformer_options so hooks can check what is
cond and what is uncond.
2023-09-15 22:21:14 -04:00
comfyanonymous
509dd5ca26 Add DDPM sampler. 2023-09-15 19:22:47 -04:00
comfyanonymous
c40f363254 Allow cancelling of everything with a progress bar. 2023-09-07 23:37:03 -04:00
comfyanonymous
b58288668f Add a ConditioningSetAreaPercentage node. 2023-09-06 03:28:27 -04:00
comfyanonymous
61036397c8 It doesn't make sense for c_crossattn and c_concat to be lists. 2023-08-31 13:25:00 -04:00
comfyanonymous
280659a6ee Support for Control Loras.
Control loras are controlnets where some of the weights are stored in
"lora" format: an up and a down low rank matrice that when multiplied
together and added to the unet weight give the controlnet weight.

This allows a much smaller memory footprint depending on the rank of the
matrices.

These controlnets are used just like regular ones.
2023-08-18 11:59:51 -04:00
comfyanonymous
a216b56591 Smarter memory management.
Try to keep models on the vram when possible.

Better lowvram mode for controlnets.
2023-08-17 01:06:34 -04:00
comfyanonymous
87f1037cf5 Remove 3m from PR #1213 because of some small issues. 2023-08-14 00:48:45 -04:00
comfyanonymous
c3910c4ffb Add sgm_uniform scheduler that acts like the default one in sgm. 2023-08-14 00:29:03 -04:00