648 Commits

Author SHA1 Message Date
comfyanonymous
25ec26ff9c Add argument to run the VAE on the CPU. 2023-12-30 05:49:07 -05:00
comfyanonymous
7602677b54 Use function to calculate model size in model patcher. 2023-12-28 21:46:20 -05:00
comfyanonymous
48d2b242ee Load weights that can't be lowvramed to target device. 2023-12-28 21:41:10 -05:00
comfyanonymous
8390f209db Fix clip vision lowvram mode not working. 2023-12-27 13:50:57 -05:00
comfyanonymous
7a3a00563b Fix taesd VAE in lowvram mode. 2023-12-26 12:52:21 -05:00
comfyanonymous
09dfd709f2 Fix lowvram mode not working with unCLIP and Revision code. 2023-12-26 05:02:02 -05:00
comfyanonymous
af134f6c64 Fix SVD lowvram mode. 2023-12-24 07:13:18 -05:00
comfyanonymous
0baa3cc687 --disable-smart-memory now unloads everything like it did originally. 2023-12-23 04:25:06 -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
5d2e2630ef A few missing comfy ops in the VAE. 2023-12-22 04:05:42 -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
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
65ada00818 Add --deterministic option to make pytorch use deterministic algorithms. 2023-12-17 16:59:21 -05:00
comfyanonymous
2849cef630 Don't resize clip vision image when the size is already good. 2023-12-16 03:06:10 -05:00
comfyanonymous
50c5b816d3 Switch clip vision to manual cast.
Make it use the same dtype as the text encoder.
2023-12-16 02:47:26 -05:00
comfyanonymous
5b1e4dff6c Set clip vision model in eval mode so it works without inference mode. 2023-12-15 18:53:08 -05:00
Hari
72500f183b Implement Perp-Neg 2023-12-16 00:28:16 +05:30
comfyanonymous
99f61f753a Remove useless code. 2023-12-15 01:28:16 -05:00
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
9e28104fb2 Support segmind vega model. 2023-12-12 19:09:53 -05:00
comfyanonymous
d8d085f2f9 Add dtype parameter to VAE object. 2023-12-12 12:03:29 -05:00
comfyanonymous
610c3b7c85 Add manual cast to controlnet. 2023-12-12 11:32:42 -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
45acae2d06 Add an option --fp16-unet to force using fp16 for the unet. 2023-12-11 18:36:29 -05:00
comfyanonymous
f64ac62540 Use faster manual cast for fp8 in unet. 2023-12-11 18:24:44 -05:00
comfyanonymous
58b39151a4 Switch text encoder to manual cast.
Use fp16 text encoder weights for CPU inference to lower memory usage.
2023-12-10 23:00:54 -05:00
comfyanonymous
260b25aef8 Disable non blocking on mps. 2023-12-10 01:30:35 -05:00
comfyanonymous
733ff9e5ab Implement GLora. 2023-12-09 18:15:26 -05:00
comfyanonymous
4d9a8c68bd Make lora code a bit cleaner. 2023-12-09 14:15:09 -05:00
comfyanonymous
242f0a57d9 Use own clip vision model implementation. 2023-12-09 11:56:31 -05:00
comfyanonymous
f54c2bf6fb Cleanup. 2023-12-08 16:02:08 -05:00
comfyanonymous
d36e559dcf Add linear_start and linear_end to model_config.sampling_settings 2023-12-08 02:49:30 -05:00
comfyanonymous
63349484b8 Make --gpu-only put intermediate values in GPU memory instead of cpu. 2023-12-08 02:35:45 -05:00
comfyanonymous
f75e370acd Support attention masking in CLIP implementation. 2023-12-07 02:51:02 -05:00
comfyanonymous
782cf4f295 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
comfyanonymous
1f1ef695bb Slightly faster lora applying. 2023-12-06 05:13:14 -05:00
comfyanonymous
39bb52dc2c Missed this one. 2023-12-05 12:48:41 -05:00
comfyanonymous
2620e3bc55 Fix memory issue with control loras. 2023-12-04 21:55:19 -05:00
comfyanonymous
e034f5709f Fix control lora on fp8. 2023-12-04 13:47:41 -05:00
comfyanonymous
9002e58ce5 Less useless downcasting. 2023-12-04 12:53:46 -05:00
comfyanonymous
dfa7737afb Use .itemsize to get dtype size for fp8. 2023-12-04 11:52:06 -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
03e65605de All the unet ops with weights are now handled by comfy.ops 2023-12-04 03:12:18 -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