Commit Graph

609 Commits

Author SHA1 Message Date
efb704c758 Support attention masking in CLIP implementation. 2023-12-07 02:51:02 -05:00
fbdb14d4c4 Cleaner CLIP text encoder implementation.
Use a simple CLIP model implementation instead of the one from
transformers.

This will allow some interesting things that would too hackish to implement
using the transformers implementation.
2023-12-06 23:50:03 -05:00
2db86b4676 Slightly faster lora applying. 2023-12-06 05:13:14 -05:00
1bbd65ab30 Missed this one. 2023-12-05 12:48:41 -05:00
9b655d4fd7 Fix memory issue with control loras. 2023-12-04 21:55:19 -05:00
26b1c0a771 Fix control lora on fp8. 2023-12-04 13:47:41 -05:00
be3468ddd5 Less useless downcasting. 2023-12-04 12:53:46 -05:00
ca82ade765 Use .itemsize to get dtype size for fp8. 2023-12-04 11:52:06 -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
af365e4dd1 All the unet ops with weights are now handled by comfy.ops 2023-12-04 03:12:18 -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
c97be4db91 Support SD2.1 turbo checkpoint. 2023-11-30 19:27:03 -05:00
983ebc5792 Use smart model management for VAE to decrease latency. 2023-11-28 04:58:51 -05:00
c45d1b9b67 Add a function to load a unet from a state dict. 2023-11-27 17:41:29 -05:00
f30b992b18 .sigma and .timestep now return tensors on the same device as the input. 2023-11-27 16:41:33 -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
39e75862b2 Fix regression from last commit. 2023-11-26 03:43:02 -05:00
50dc39d6ec Clean up the extra_options dict for the transformer patches.
Now everything in transformer_options gets put in extra_options.
2023-11-26 03:13:56 -05:00
5d6dfce548 Fix importing diffusers unets. 2023-11-24 20:35:29 -05:00
3e5ea74ad3 Make buggy xformers fall back on pytorch attention. 2023-11-24 03:55:35 -05:00
871cc20e13 Support SVD img2vid model. 2023-11-23 19:41:33 -05:00
410bf07771 Make VAE memory estimation take dtype into account. 2023-11-22 18:17:19 -05:00
32447f0c39 Add sampling_settings so models can specify specific sampling settings. 2023-11-22 17:24:00 -05:00
c3ae99a749 Allow controlling downscale and upscale methods in PatchModelAddDownscale. 2023-11-22 03:23:16 -05:00
72741105a6 Remove useless code. 2023-11-21 17:27:28 -05:00
6a491ebe27 Allow model config to preprocess the vae state dict on load. 2023-11-21 16:29:18 -05:00
cd4fc77d5f Add taesd and taesdxl to VAELoader node.
They will show up if both the taesd_encoder and taesd_decoder or taesdxl
model files are present in the models/vae_approx directory.
2023-11-21 12:54:19 -05:00
ce67dcbcda Make it easy for models to process the unet state dict on load. 2023-11-20 23:17:53 -05:00
d9d8702d8d percent_to_sigma now returns a float instead of a tensor. 2023-11-18 23:20:29 -05:00
0cf4e86939 Add some command line arguments to store text encoder weights in fp8.
Pytorch supports two variants of fp8:
--fp8_e4m3fn-text-enc (the one that seems to give better results)
--fp8_e5m2-text-enc
2023-11-17 02:56:59 -05:00
107e78b1cb Add support for loading SSD1B diffusers unet version.
Improve diffusers model detection.
2023-11-16 23:12:55 -05:00
7e3fe3ad28 Make deep shrink behave like it should. 2023-11-16 15:26:28 -05:00
9f00a18095 Fix potential issues. 2023-11-16 14:59:54 -05:00
7ea6bb038c Print warning when controlnet can't be applied instead of crashing. 2023-11-16 12:57:12 -05:00
dcec1047e6 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
57eea0efbb heunpp2 sampler. 2023-11-14 23:50:55 -05:00
728613bb3e Fix last pr. 2023-11-14 14:41:31 -05:00
ec3d0ab432 Merge branch 'master' of https://github.com/Jannchie/ComfyUI 2023-11-14 14:38:07 -05:00
c962884a5c Make bislerp work on GPU. 2023-11-14 11:38:36 -05:00
420beeeb05 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
f2e49b1d57 fix: adaptation to older versions of pytroch 2023-11-14 14:32:05 +09:00
94cc718e9c Add a way to add patches to the input block. 2023-11-14 00:08:12 -05:00
7339479b10 Disable xformers when it can't load properly. 2023-11-13 12:31:10 -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
2c9dba8dc0 sampling_function now has the model object as the argument. 2023-11-12 03:45:10 -05:00
8d80584f6a Remove useless argument from uni_pc sampler. 2023-11-12 01:25:33 -05:00
248aa3e563 Fix bug. 2023-11-11 12:20:16 -05:00
4a8a839b40 Add option to use in place weight updating in ModelPatcher. 2023-11-11 01:11:12 -05:00