85 Commits

Author SHA1 Message Date
comfyanonymous
215cf1d843 Mixed precision diffusion models with scaled fp8.
This change allows supports for diffusion models where all the linears are
scaled fp8 while the other weights are the original precision.
2024-10-21 18:12:51 -04:00
comfyanonymous
077a32ca01 Support diffusion models with scaled fp8 weights. 2024-10-19 23:47:42 -04:00
comfyanonymous
6b0d97384c Add a weight_dtype fp8_e4m3fn_fast to the Diffusion Model Loader node.
This is used to load weights in fp8 and use fp8 matrix multiplication.
2024-10-09 19:43:17 -04:00
comfyanonymous
7c0c89e70c Add --fast argument to enable experimental optimizations.
Optimizations that might break things/lower quality will be put behind
this flag first and might be enabled by default in the future.

Currently the only optimization is float8_e4m3fn matrix multiplication on
4000/ADA series Nvidia cards or later. If you have one of these cards you
will see a speed boost when using fp8_e4m3fn flux for example.
2024-08-20 11:55:51 -04:00
comfyanonymous
71eddf2d2f Add a way to set model dtype and ops from load_checkpoint_guess_config. 2024-08-11 08:50:34 -04:00
comfyanonymous
001ff4d6a6 Fix OOMs happening in some cases.
A cloned model patcher sometimes reported a model was loaded on a device
when it wasn't.
2024-08-06 13:36:04 -04:00
comfyanonymous
85fadea55c Fix issue with some custom nodes. 2024-08-04 10:03:33 -04:00
comfyanonymous
753d9640f9 Automatically use fp8 for diffusion model weights if:
Checkpoint contains weights in fp8.

There isn't enough memory to load the diffusion model in GPU vram.
2024-08-03 13:45:19 -04:00
comfyanonymous
b0eaa09c6a Better per model memory usage estimations. 2024-08-02 18:09:24 -04:00
comfyanonymous
e2284e5609 Tweak regular SD memory formula. 2024-08-02 17:34:30 -04:00
comfyanonymous
ebc7233402 Better Flux vram estimation. 2024-08-02 17:02:35 -04:00
comfyanonymous
49c0c333d3 Tweak the memory usage formulas for Flux and SD. 2024-08-01 17:53:45 -04:00
comfyanonymous
fc6a27f36c Basic Flux Schnell and Flux Dev model implementation. 2024-08-01 09:49:29 -04:00
comfyanonymous
06fb93c0d1 Basic hunyuan dit implementation. (#4102)
* Let tokenizers return weights to be stored in the saved checkpoint.

* Basic hunyuan dit implementation.

* Fix some resolutions not working.

* Support hydit checkpoint save.

* Init with right dtype.

* Switch to optimized attention in pooler.

* Fix black images on hunyuan dit.
2024-07-25 18:21:08 -04:00
comfyanonymous
4c066c4bc4 AuraFlow model implementation. 2024-07-11 16:52:26 -04:00
comfyanonymous
a709cce447 Support saving stable audio checkpoint that can be loaded back. 2024-06-27 11:06:52 -04:00
comfyanonymous
1eb91dbfbb Initial support for the stable audio open model. 2024-06-15 12:14:56 -04:00
comfyanonymous
12e44a5d50 Add a --force-channels-last to inference models in channel last mode. 2024-06-15 01:08:12 -04:00
comfyanonymous
4514807781 Don't auto convert clip and vae weights to fp16 when saving checkpoint. 2024-06-12 01:07:58 -04:00
comfyanonymous
4a6dfb619d SD3 better memory usage estimation. 2024-06-12 00:49:00 -04:00
comfyanonymous
0f719c05f1 Reuse code. 2024-06-11 07:20:26 -04:00
comfyanonymous
cc2f32af2c SD3 Support. 2024-06-10 14:06:23 -04:00
comfyanonymous
bcc865f6ac Typo fix. 2024-05-08 18:36:56 -04:00
comfyanonymous
bc8bef3daa Support for CosXL models. 2024-04-05 10:53:41 -04:00
comfyanonymous
284361ba73 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
comfyanonymous
56b08f7b30 Cleanup to support different types of inpaint models. 2024-03-29 14:44:13 -04:00
comfyanonymous
b5fc494ded SV3D support. 2024-03-18 16:54:13 -04:00
comfyanonymous
46e5a518c3 Change log levels.
Logging level now defaults to info. --verbose sets it to debug.
2024-03-11 13:54:56 -04:00
comfyanonymous
35d0fd9a5d Replace prints with logging and add --verbose argument. 2024-03-10 12:14:23 -04:00
comfyanonymous
e4c40b647b Let conditioning specify custom concat conds. 2024-03-02 11:44:06 -05:00
comfyanonymous
2e622719d7 Allow image_only_indicator to be None. 2024-02-29 13:11:30 -05:00
comfyanonymous
4a76090e6a Auto detect playground v2.5 model. 2024-02-27 18:03:03 -05:00
comfyanonymous
ecdec096f3 Pass pooled CLIP to stage b. 2024-02-20 04:24:45 -05:00
comfyanonymous
e5a0f735be Stable Cascade Stage B. 2024-02-16 13:02:03 -05:00
comfyanonymous
deebc95781 Stable Cascade Stage C. 2024-02-16 10:55:08 -05:00
comfyanonymous
f3cb1f0b39 Add a way to set different conditioning for the controlnet. 2024-02-09 14:13:31 -05:00
comfyanonymous
2f33a09886 Cleanup some unused imports. 2024-01-21 21:51:22 -05:00
comfyanonymous
8739736c6e 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
comfyanonymous
30b062a477 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
comfyanonymous
006560b913 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
comfyanonymous
a36114ce30 Implement noise augmentation for SD 4X upscale model. 2024-01-03 14:27:11 -05:00
comfyanonymous
7629685d08 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
comfyanonymous
59e4fbf255 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
comfyanonymous
183307e3de Fix SDXL area composition sometimes not using the right pooled output. 2023-12-18 12:54:23 -05:00
comfyanonymous
c39ed85f3d 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
comfyanonymous
fd9bfb01fc Use inference dtype for unet memory usage estimation. 2023-12-11 23:50:38 -05:00
comfyanonymous
98cc7883b7 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
comfyanonymous
f64ac62540 Use faster manual cast for fp8 in unet. 2023-12-11 18:24:44 -05:00
comfyanonymous
080f5f4e84 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
comfyanonymous
31feea98b0 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