Commit Graph

90 Commits

Author SHA1 Message Date
comfyanonymous
c60864b5e4 Refactor the attention functions.
There's no reason for the whole CrossAttention object to be repeated when
only the operation in the middle changes.
2023-10-11 20:38:48 -04:00
comfyanonymous
23ed2b1654 Model patches can now know which batch is positive and negative. 2023-09-27 12:04:07 -04:00
comfyanonymous
cbeebba747 Sampling code refactor. 2023-09-26 13:45:15 -04:00
comfyanonymous
a990441ba0 Add a way to set output block patches to modify the h and hsp. 2023-09-22 20:26:47 -04:00
comfyanonymous
f45f65b6a4 This isn't used anywhere. 2023-09-15 12:03:03 -04:00
comfyanonymous
ef0c0892f6 Add a force argument to soft_empty_cache to force a cache empty. 2023-09-04 00:58:18 -04:00
Simon Lui
f63ffd1bb1 Revert changes in comfy/ldm/modules/diffusionmodules/util.py, which is unused. 2023-09-02 20:07:52 -07:00
Simon Lui
1148c2dec7 Some fixes to generalize CUDA specific functionality to Intel or other GPUs. 2023-09-02 18:22:10 -07:00
comfyanonymous
b8f3570a1b Remove xformers related print. 2023-09-01 02:12:03 -04:00
comfyanonymous
2ab478346d Remove optimization that caused border. 2023-08-29 11:21:36 -04:00
comfyanonymous
6932eda1fb Fallback to slice attention if xformers doesn't support the operation. 2023-08-27 22:24:42 -04:00
comfyanonymous
1b9a6a9599 Make --bf16-vae work on torch 2.0 2023-08-27 21:33:53 -04:00
comfyanonymous
08af73e450 Controlnet/t2iadapter cleanup. 2023-08-22 01:06:26 -04:00
comfyanonymous
01a6f9b116 Fix issue with gligen. 2023-08-18 16:32:23 -04:00
comfyanonymous
280659a6ee Support for Control Loras.
Control loras are controlnets where some of the weights are stored in
"lora" format: an up and a down low rank matrice that when multiplied
together and added to the unet weight give the controlnet weight.

This allows a much smaller memory footprint depending on the rank of the
matrices.

These controlnets are used just like regular ones.
2023-08-18 11:59:51 -04:00
comfyanonymous
9c5ad64310 Remove some useless code. 2023-07-30 14:13:33 -04:00
comfyanonymous
71ffc7b350 Faster VAE loading. 2023-07-29 16:28:30 -04:00
comfyanonymous
8a8d8c86d6 Initialize the unet directly on the target device. 2023-07-29 14:51:56 -04:00
comfyanonymous
4ec7f09adc It's actually possible to torch.compile the unet now. 2023-07-18 21:36:35 -04:00
comfyanonymous
debccdc6f9 Refactor of sampler code to deal more easily with different model types. 2023-07-17 01:22:12 -04:00
comfyanonymous
fa8010f038 Disable autocast in unet for increased speed. 2023-07-05 21:58:29 -04:00
comfyanonymous
033dc1f52a Cleanup. 2023-07-02 11:58:23 -04:00
comfyanonymous
44e3d3caed Fix ddim + inpainting not working. 2023-06-26 00:48:48 -04:00
comfyanonymous
391ee8d21f Fix bug with controlnet. 2023-06-24 11:02:38 -04:00
comfyanonymous
0db33017af Add some more transformer hooks and move tomesd to comfy_extras.
Tomesd now uses q instead of x to decide which tokens to merge because
it seems to give better results.
2023-06-24 03:30:22 -04:00
comfyanonymous
51da619d73 Remove useless code. 2023-06-23 12:35:26 -04:00
comfyanonymous
08f1f7686c Support base SDXL and SDXL refiner models.
Large refactor of the model detection and loading code.
2023-06-22 13:03:50 -04:00
comfyanonymous
d72d5d49f5 Add original_shape parameter to transformer patch extra_options. 2023-06-21 13:22:01 -04:00
comfyanonymous
873b08bd0f Add a way to set patches that modify the attn2 output.
Change the transformer patches function format to be more future proof.
2023-06-18 22:58:22 -04:00
comfyanonymous
351d778487 Fix DDIM v-prediction. 2023-06-17 20:48:21 -04:00
comfyanonymous
d35c0ce6ec All the unet weights should now be initialized with the right dtype. 2023-06-15 18:42:30 -04:00
comfyanonymous
8e6cbe6270 Initialize more unet weights as the right dtype. 2023-06-15 15:00:10 -04:00
comfyanonymous
206af9a315 Initialize transformer unet block weights in right dtype at the start. 2023-06-15 14:29:26 -04:00
comfyanonymous
6bbd86a061 Disable default weight values in unet conv2d for faster loading. 2023-06-14 19:46:08 -04:00
comfyanonymous
46a1fd77f4 This isn't needed for inference. 2023-06-14 13:05:08 -04:00
comfyanonymous
14508d7a5b Speed up model loading a bit.
Default pytorch Linear initializes the weights which is useless and slow.
2023-06-14 12:09:41 -04:00
comfyanonymous
22cd647be0 Remove more useless files. 2023-06-13 02:22:19 -04:00
comfyanonymous
ce4e360edf Cleanup: Remove a bunch of useless files. 2023-06-13 02:19:08 -04:00
comfyanonymous
c0a5444d1b Make scaled_dot_product switch to sliced attention on OOM. 2023-05-20 16:01:02 -04:00
comfyanonymous
e33cb62d1b Simplify and improve some vae attention code. 2023-05-20 15:07:21 -04:00
BlenderNeko
2e2c17131b minor changes for tiled sampler 2023-05-12 23:49:09 +02:00
comfyanonymous
b877fefbb3 Lowvram mode for gligen and fix some lowvram issues. 2023-05-05 18:11:41 -04:00
comfyanonymous
2edaaba3c2 Fix imports. 2023-05-04 18:10:29 -04:00
comfyanonymous
71b4d08e65 Change latent resolution step to 8. 2023-05-02 14:17:51 -04:00
comfyanonymous
76730ed9ff Make unet work with any input shape. 2023-05-02 13:31:43 -04:00
comfyanonymous
f5982afcfa Properly disable all progress bars when disable_pbar=True 2023-05-01 15:52:17 -04:00
comfyanonymous
e6771d0986 Implement Linear hypernetworks.
Add a HypernetworkLoader node to use hypernetworks.
2023-04-23 12:35:25 -04:00
comfyanonymous
0d66023475 This makes pytorch2.0 attention perform a bit faster. 2023-04-22 14:30:39 -04:00
comfyanonymous
6c156642e4 Add support for GLIGEN textbox model. 2023-04-19 11:06:32 -04:00
comfyanonymous
4df70d0f62 Fix model_management import so it doesn't get executed twice. 2023-04-15 19:04:33 -04:00