Commit Graph

61 Commits

Author SHA1 Message Date
575acb69e4 IP2P model loading support.
This is the code to load the model and inference it with only a text
prompt. This commit does not contain the nodes to properly use it with an
image input.

This supports both the original SD1 instructpix2pix model and the
diffusers SDXL one.
2024-03-31 03:10:28 -04:00
94a5a67c32 Cleanup to support different types of inpaint models. 2024-03-29 14:44:13 -04:00
40e124c6be SV3D support. 2024-03-18 16:54:13 -04:00
0ed72befe1 Change log levels.
Logging level now defaults to info. --verbose sets it to debug.
2024-03-11 13:54:56 -04:00
65397ce601 Replace prints with logging and add --verbose argument. 2024-03-10 12:14:23 -04:00
51df846598 Let conditioning specify custom concat conds. 2024-03-02 11:44:06 -05:00
cb7c3a2921 Allow image_only_indicator to be None. 2024-02-29 13:11:30 -05:00
8daedc5bf2 Auto detect playground v2.5 model. 2024-02-27 18:03:03 -05:00
0d0fbabd1d Pass pooled CLIP to stage b. 2024-02-20 04:24:45 -05:00
667c92814e Stable Cascade Stage B. 2024-02-16 13:02:03 -05:00
f83109f09b Stable Cascade Stage C. 2024-02-16 10:55:08 -05:00
25a4805e51 Add a way to set different conditioning for the controlnet. 2024-02-09 14:13:31 -05:00
4871a36458 Cleanup some unused imports. 2024-01-21 21:51:22 -05:00
d76a04b6ea Add unfinished ImageOnlyCheckpointSave node to save a SVD checkpoint.
This node is unfinished, SVD checkpoints saved with this node will
work with ComfyUI but not with anything else.
2024-01-17 19:46:21 -05:00
2395ae740a Make unclip more deterministic.
Pass a seed argument note that this might make old unclip images different.
2024-01-14 17:28:31 -05:00
10f2609fdd Add InpaintModelConditioning node.
This is an alternative to VAE Encode for inpaint that should work with
lower denoise.

This is a different take on #2501
2024-01-11 03:15:27 -05:00
8c6493578b Implement noise augmentation for SD 4X upscale model. 2024-01-03 14:27:11 -05:00
a7874d1a8b Add support for the stable diffusion x4 upscaling model.
This is an old model.

Load the checkpoint like a regular one and use the new
SD_4XUpscale_Conditioning node.
2024-01-03 03:37:56 -05:00
36a7953142 Greatly improve lowvram sampling speed by getting rid of accelerate.
Let me know if this breaks anything.
2023-12-22 14:38:45 -05:00
8cf1daa108 Fix SDXL area composition sometimes not using the right pooled output. 2023-12-18 12:54:23 -05:00
2258f85159 Support stable zero 123 model.
To use it use the ImageOnlyCheckpointLoader to load the checkpoint and
the new Stable_Zero123 node.
2023-12-18 03:48:04 -05:00
3152023fbc Use inference dtype for unet memory usage estimation. 2023-12-11 23:50:38 -05:00
77755ab8db Refactor comfy.ops
comfy.ops -> comfy.ops.disable_weight_init

This should make it more clear what they actually do.

Some unused code has also been removed.
2023-12-11 23:27:13 -05:00
ba07cb748e Use faster manual cast for fp8 in unet. 2023-12-11 18:24:44 -05:00
31b0f6f3d8 UNET weights can now be stored in fp8.
--fp8_e4m3fn-unet and --fp8_e5m2-unet are the two different formats
supported by pytorch.
2023-12-04 11:10:00 -05:00
61a123a1e0 A different way of handling multiple images passed to SVD.
Previously when a list of 3 images [0, 1, 2] was used for a 6 frame video
they were concated like this:
[0, 1, 2, 0, 1, 2]

now they are concated like this:
[0, 0, 1, 1, 2, 2]
2023-12-03 03:31:47 -05:00
13fdee6abf Try to free memory for both cond+uncond before inference. 2023-11-27 14:55:40 -05:00
be71bb5e13 Tweak memory inference calculations a bit. 2023-11-27 14:04:16 -05:00
871cc20e13 Support SVD img2vid model. 2023-11-23 19:41:33 -05:00
ce67dcbcda Make it easy for models to process the unet state dict on load. 2023-11-20 23:17:53 -05:00
4781819a85 Make memory estimation aware of model dtype. 2023-11-12 04:28:26 -05:00
dd4ba68b6e Allow different models to estimate memory usage differently. 2023-11-12 04:03:52 -05:00
064d7583eb Add a CONDConstant for passing non tensor conds to unet. 2023-11-08 01:59:09 -05:00
1ffa8858e7 Move model sampling code to comfy/model_sampling.py 2023-11-04 01:32:23 -04:00
ecb80abb58 Allow ModelSamplingDiscrete to be instantiated without a model config. 2023-11-01 19:13:03 -04:00
111f1b5255 Fix some issues with sampling precision. 2023-10-31 23:49:29 -04:00
7c0f255de1 Clean up percent start/end and make controlnets work with sigmas. 2023-10-31 22:14:32 -04:00
1777b54d02 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
d1d2fea806 Pass extra conds directly to unet. 2023-10-25 00:07:53 -04:00
036f88c621 Refactor to make it easier to add custom conds to models. 2023-10-24 23:31:12 -04:00
e6962120c6 Make sure cond_concat is on the right device. 2023-10-19 01:14:25 -04:00
782a24fce6 Refactor cond_concat into model object. 2023-10-18 16:48:37 -04:00
492db2de8d Allow having a different pooled output for each image in a batch. 2023-09-21 01:14:42 -04:00
7931ff0fd9 Support SDXL inpaint models. 2023-09-01 15:22:52 -04:00
1c012d69af It doesn't make sense for c_crossattn and c_concat to be lists. 2023-08-31 13:25:00 -04:00
15adc3699f Move beta_schedule to model_config and allow disabling unet creation. 2023-08-29 14:22:53 -04:00
a57b0c797b Fix lowvram model merging. 2023-08-26 11:52:07 -04:00
39ac856a33 ReVision support: unclip nodes can now be used with SDXL. 2023-08-18 11:59:36 -04:00
a2ce9655ca Refactor unclip code. 2023-08-14 23:48:47 -04:00
9cc12c833d CLIPVisionEncode can now encode multiple images. 2023-08-14 16:54:05 -04:00