136 Commits

Author SHA1 Message Date
comfyanonymous
b04267ce30 Fix some edge cases with samplers and arrays with a single sigma. 2024-05-01 17:05:30 -04:00
Jedrzej Kosinski
7a37c3088d Fix error when more cond masks passed in than batch size (#3353) 2024-04-26 12:51:12 -04:00
comfyanonymous
c618084a1c Fix missing arguments in cfg_function. 2024-04-04 23:38:57 -04:00
comfyanonymous
22462103f3 Fix model needing to be loaded on GPU to generate the sigmas. 2024-04-04 22:08:49 -04:00
comfyanonymous
58a02039bc Make zero denoise a NOP. 2024-04-04 11:41:27 -04:00
comfyanonymous
1f511af362 Small cleanup. 2024-04-04 11:16:49 -04:00
comfyanonymous
bcb4f07071 Refactor sampler code for more advanced sampler nodes part 2. 2024-04-04 01:26:41 -04:00
comfyanonymous
f9e7f0e695 Refactor sampling code for more advanced sampler nodes. 2024-04-03 22:09:51 -04:00
comfyanonymous
1ba93001e4 Refactor calc_cond_uncond_batch into calc_cond_batch.
calc_cond_batch can take an arbitrary amount of cond inputs.

Added a calc_cond_uncond_batch wrapper with a warning so custom nodes
won't break.
2024-04-01 18:07:47 -04:00
comfyanonymous
6b490edbab Add inverse noise scaling function. 2024-03-21 14:49:11 -04:00
comfyanonymous
3905e795dc SamplerDPMAdaptative node to test the different options. 2024-03-15 22:36:10 -04:00
comfyanonymous
9956e2b6e7 Switch some more prints to logging. 2024-03-11 16:34:58 -04:00
comfyanonymous
03ccdd76a7 Simplify differential diffusion code. 2024-03-03 15:34:42 -05:00
Shiimizu
8363203d85 Implement Differential Diffusion (#2876)
* Implement Differential Diffusion

* Cleanup.

* Fix.

* Masks should be applied at full strength.

* Fix colors.

* Register the node.

* Cleaner code.

* Fix issue with getting unipc sampler.

* Adjust thresholds.

* Switch to linear thresholds.

* Only calculate nearest_idx on valid thresholds.
2024-03-03 15:34:13 -05:00
comfyanonymous
bd39d6bfd6 Cleanup: Use sampling noise scaling function for inpainting. 2024-03-01 14:24:41 -05:00
comfyanonymous
5af225ffd9 Move noise scaling to object with sampling math. 2024-03-01 12:54:38 -05:00
comfyanonymous
0bd8fc1e4d Playground V2.5 support with ModelSamplingContinuousEDM node.
Use ModelSamplingContinuousEDM with edm_playground_v2.5 selected.
2024-02-27 15:12:33 -05:00
logtd
5dfd39f190 Fix model and cond transformer options merge 2024-02-23 01:19:43 -07:00
comfyanonymous
8d2b46bfbe Cleanup uni_pc inpainting.
This causes some small changes to the uni pc inpainting behavior but it
seems to improve results slightly.
2024-02-23 02:39:35 -05:00
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