Commit Graph

50 Commits

Author SHA1 Message Date
388567f20b sampler_cfg_function now uses a dict for the argument.
This means arguments can be added without issues.
2023-06-13 16:10:36 -04:00
c64ca8c0b2 Refactor unCLIP noise augment out of samplers.py 2023-06-11 04:01:18 -04:00
de142eaad5 Simpler base model code. 2023-06-09 12:31:16 -04:00
069657fbf3 Add DPM-Solver++(2M) SDE and exponential scheduler.
exponential scheduler is the one recommended with this sampler.
2023-05-21 01:46:03 -04:00
ef815ba1e2 Switch default scheduler to normal. 2023-05-15 00:29:56 -04:00
f7c0f75d1f Auto batching improvements.
Try batching when cond sizes don't match with smart padding.
2023-05-10 13:59:24 -04:00
314e526c5c Not needed anymore because sampling works with any latent size. 2023-05-09 12:18:18 -04:00
908dc1d5a8 Add a total_steps value to sampler callback. 2023-05-03 12:58:10 -04:00
d3293c8339 Properly disable all progress bars when disable_pbar=True 2023-05-01 15:52:17 -04:00
a2e18b1504 allow disabling of progress bar when sampling 2023-04-30 18:59:58 +02:00
071011aebe Mask strength should be separate from area strength. 2023-04-29 20:06:53 -04:00
af02393c2a Default to sampling entire image
By default, when applying a mask to a condition, the entire image will
still be used for sampling. The new "set_area_to_bounds" option on the
node will allow the user to automatically limit conditioning to the
bounds of the mask.

I've also removed the dependency on torchvision for calculating bounding
boxes. I've taken the opportunity to fix some frustrating details in the
other version:
1. An all-0 mask will no longer cause an error
2. Indices are returned as integers instead of floats so they can be
   used to index into tensors.
2023-04-29 00:16:58 -07:00
e214c917ae Add Condition by Mask node
This PR adds support for a Condition by Mask node. This node allows
conditioning to be limited to a non-rectangle area.
2023-04-27 20:03:27 -07:00
5a971cecdb Add callback to sampler function.
Callback format is: callback(step, x0, x)
2023-04-27 04:38:44 -04:00
7983b3a975 This is cleaner this way. 2023-04-24 22:45:35 -04:00
8d2de420d3 Merge branch 'master' of https://github.com/BlenderNeko/ComfyUI 2023-04-23 20:02:18 +02:00
2a09e2aa27 refactor/split various bits of code for sampling 2023-04-23 20:02:08 +02:00
5282f56434 Implement Linear hypernetworks.
Add a HypernetworkLoader node to use hypernetworks.
2023-04-23 12:35:25 -04:00
907010e082 Remove some useless code. 2023-04-20 23:58:25 -04:00
96b57a9ad6 Don't pass adm to model when it doesn't support it. 2023-04-19 21:11:38 -04:00
3696d1699a Add support for GLIGEN textbox model. 2023-04-19 11:06:32 -04:00
884ea653c8 Add a way for nodes to set a custom CFG function. 2023-04-17 11:05:15 -04:00
73c3e11e83 Fix model_management import so it doesn't get executed twice. 2023-04-15 19:04:33 -04:00
23524ad8c5 Remove print. 2023-04-03 22:58:54 -04:00
f50b1fec69 Add noise augmentation setting to unCLIPConditioning. 2023-04-03 13:50:29 -04:00
809bcc8ceb Add support for unCLIP SD2.x models.
See _for_testing/unclip in the UI for the new nodes.

unCLIPCheckpointLoader is used to load them.

unCLIPConditioning is used to add the image cond and takes as input a
CLIPVisionEncode output which has been moved to the conditioning section.
2023-04-01 23:19:15 -04:00
18a6c1db33 Add a TomePatchModel node to the _for_testing section.
Tome increases sampling speed at the expense of quality.
2023-03-31 17:19:58 -04:00
61ec3c9d5d Add a way to pass options to the transformers blocks. 2023-03-31 13:04:39 -04:00
afd65d3819 Fix noise mask not working with > 1 batch size on ksamplers. 2023-03-30 03:50:12 -04:00
0d65cb17b7 Fix ddim_uniform crashing with 37 steps. 2023-03-28 16:29:35 -04:00
7f0fd99b5d Make ddim work with --cpu 2023-03-24 11:39:51 -04:00
b4b21be707 Fix area composition feathering not working properly. 2023-03-19 02:00:52 -04:00
afff30fc0a Add --cpu to use the cpu for inference. 2023-03-06 10:50:50 -05:00
69cc75fbf8 Add a way to interrupt current processing in the backend. 2023-03-02 14:42:03 -05:00
75fa162531 Remove sample_ from some sampler names.
Old workflows will still work.
2023-02-27 01:43:06 -05:00
af3cc1b5fb Fixed issue when batched image was used as a controlnet input. 2023-02-25 14:57:28 -05:00
f04dc2c2f4 Implement DDIM sampler. 2023-02-22 21:10:19 -05:00
2976c1ad28 Uni_PC: make max denoise behave more like other samplers.
On the KSamplers denoise of 1.0 is the same as txt2img but there was a
small difference on UniPC.
2023-02-22 02:21:06 -05:00
a7328e4945 Add uni_pc bh2 variant. 2023-02-21 16:11:48 -05:00
4efa67fa12 Add ControlNet support. 2023-02-16 10:38:08 -05:00
bc69fb5245 Use inpaint models the proper way by using VAEEncodeForInpaint. 2023-02-15 20:44:51 -05:00
cef2cc3cb0 Support for inpaint models. 2023-02-15 16:38:20 -05:00
07db00355f Add masks to samplers code for inpainting. 2023-02-15 13:16:38 -05:00
5489d5af04 Add uni_pc sampler to KSampler* nodes. 2023-02-11 03:34:09 -05:00
3fd87cbd21 Slightly smarter batching behaviour.
Try to keep batch sizes more consistent which seems to improve things on
AMD GPUs.
2023-02-08 17:28:43 -05:00
bbdcf0b737 Use relative imports for k_diffusion. 2023-02-08 16:51:19 -05:00
853e96ada3 Increase it/s by batching together some stuff sent to unet. 2023-02-08 14:24:00 -05:00
69df7eba94 Add KSamplerAdvanced node.
This node exposes more sampling options and makes it possible for example
to sample the first few steps on the latent image, do some operations on it
 and then do the rest of the sampling steps. This can be achieved using the
start_at_step and end_at_step options.
2023-01-31 03:09:38 -05:00
c4b02059d0 Add ConditioningSetArea node.
to apply conditioning/prompts only to a specific area of the image.

Add ConditioningCombine node.
so that multiple conditioning/prompts can be applied to the image at the
same time
2023-01-26 12:06:48 -05:00
220afe3310 Initial commit. 2023-01-16 22:37:14 -05:00