Commit Graph

390 Commits

Author SHA1 Message Date
comfyanonymous
debccdc6f9 Refactor of sampler code to deal more easily with different model types. 2023-07-17 01:22:12 -04:00
comfyanonymous
ba6e888eb9 Lower lora ram usage when in normal vram mode. 2023-07-16 02:59:04 -04:00
comfyanonymous
73c2afbe44 Speed up lora loading a bit. 2023-07-15 13:25:22 -04:00
comfyanonymous
f67f1c99b8 Fix CLIPSetLastLayer not reverting when removed. 2023-07-15 01:41:21 -04:00
comfyanonymous
26da73b600 Reduce floating point rounding errors in loras. 2023-07-15 00:53:00 -04:00
comfyanonymous
daac253452 Add a node to merge CLIP models. 2023-07-14 02:41:18 -04:00
comfyanonymous
f4c18db4ed Prevent the clip_g position_ids key from being saved in the checkpoint.
This is to make it match the official checkpoint.
2023-07-12 20:15:02 -04:00
comfyanonymous
28bf6d49da Fix potential tensors being on different devices issues. 2023-07-12 19:29:27 -04:00
KarryCharon
3ee78c064b fix mps miss import 2023-07-12 10:06:34 +08:00
comfyanonymous
6e99974161 Support SDXL embedding format with 2 CLIP. 2023-07-10 10:34:59 -04:00
comfyanonymous
c1c170f61a Don't patch weights when multiplier is zero. 2023-07-09 17:46:56 -04:00
comfyanonymous
55d00ccefd latent2rgb matrix for SDXL. 2023-07-09 13:59:09 -04:00
comfyanonymous
42805fd416 Empty cache after model unloading for normal vram and lower. 2023-07-09 09:56:03 -04:00
comfyanonymous
7d69d770e1 Support loading clip_g from diffusers in CLIP Loader nodes. 2023-07-09 09:33:53 -04:00
comfyanonymous
c5779f04aa Fix merging not working when model2 of model merge node was a merge. 2023-07-08 22:31:10 -04:00
comfyanonymous
4685d2b07f Merge branch 'condmask-fix' of https://github.com/vmedea/ComfyUI 2023-07-07 01:52:25 -04:00
comfyanonymous
9caaa09c71 Add arguments to run the VAE in fp16 or bf16 for testing. 2023-07-06 23:23:46 -04:00
comfyanonymous
d3b3c94616 Fix bug with weights when prompt is long. 2023-07-06 02:43:40 -04:00
comfyanonymous
fa8010f038 Disable autocast in unet for increased speed. 2023-07-05 21:58:29 -04:00
comfyanonymous
c6391df3a5 Fix loras not working when loading checkpoint with config. 2023-07-05 19:42:24 -04:00
comfyanonymous
2ff6108df3 Support loading unet files in diffusers format. 2023-07-05 17:38:59 -04:00
comfyanonymous
56d999484b Add gpu variations of the sde samplers that are less deterministic
but faster.
2023-07-05 01:39:38 -04:00
comfyanonymous
7ffb8dbe56 Add logit scale parameter so it's present when saving the checkpoint. 2023-07-04 23:01:28 -04:00
comfyanonymous
60bdf7c00b Properly support SDXL diffusers loras for unet. 2023-07-04 21:15:23 -04:00
mara
386e66bd7f Fix size check for conditioning mask
The wrong dimensions were being checked, [1] and [2] are the image size.
not [2] and [3]. This results in an out-of-bounds error if one of them
actually matches.
2023-07-04 16:34:42 +02:00
comfyanonymous
06ce99e525 Fix issue with OSX. 2023-07-04 02:09:02 -04:00
comfyanonymous
fcee7e88db Pass device to CLIP model. 2023-07-03 16:09:37 -04:00
comfyanonymous
be891646cd Allow passing custom path to clip-g and clip-h. 2023-07-03 15:45:04 -04:00
comfyanonymous
fd93e324e8 Improvements for OSX. 2023-07-03 00:08:30 -04:00
comfyanonymous
033dc1f52a Cleanup. 2023-07-02 11:58:23 -04:00
comfyanonymous
280a4e3544 Switch to fp16 on some cards when the model is too big. 2023-07-02 10:00:57 -04:00
comfyanonymous
dd4abf1345 Add a --force-fp16 argument to force fp16 for testing. 2023-07-01 22:42:35 -04:00
comfyanonymous
1e24a78d85 --gpu-only now keeps the VAE on the device. 2023-07-01 15:22:40 -04:00
comfyanonymous
5ace1146c5 Lower latency by batching some text encoder inputs. 2023-07-01 15:07:39 -04:00
comfyanonymous
2ee0aa317c Leave text_encoder on the CPU when it can handle it. 2023-07-01 14:38:51 -04:00
comfyanonymous
d5a7abe10d Try to keep text encoders loaded and patched to increase speed.
load_model_gpu() is now used with the text encoder models instead of just
the unet.
2023-07-01 13:28:07 -04:00
comfyanonymous
e946dca0e1 Make highvram and normalvram shift the text encoders to vram and back.
This is faster on big text encoder models than running it on the CPU.
2023-07-01 12:37:23 -04:00
comfyanonymous
7dff6c094c LoraLoader node now caches the lora file between executions. 2023-06-29 23:40:51 -04:00
comfyanonymous
7520fc3eac Fix embeddings not working with --gpu-only 2023-06-29 20:43:06 -04:00
comfyanonymous
790073a21d Move unet to device right after loading on highvram mode. 2023-06-29 20:43:06 -04:00
comfyanonymous
a9b4d721c0 Remove useless code. 2023-06-29 00:26:33 -04:00
comfyanonymous
edfb14822e This is unused but it should be 1280. 2023-06-28 18:04:23 -04:00
comfyanonymous
ae27a5625e Support for SDXL text encoder lora. 2023-06-28 02:22:49 -04:00
comfyanonymous
73519d4e76 Fix bug. 2023-06-28 00:38:07 -04:00
comfyanonymous
7b13cacfea Use pytorch attention by default on nvidia when xformers isn't present.
Add a new argument --use-quad-cross-attention
2023-06-26 13:03:44 -04:00
comfyanonymous
95008c22cd Add CheckpointSave node to save checkpoints.
The created checkpoints contain workflow metadata that can be loaded by
dragging them on top of the UI or loading them with the "Load" button.

Checkpoints will be saved in fp16 or fp32 depending on the format ComfyUI
is using for inference on your hardware. To force fp32 use: --force-fp32

Anything that patches the model weights like merging or loras will be
saved.

The output directory is currently set to: output/checkpoints but that might
change in the future.
2023-06-26 12:22:27 -04:00
comfyanonymous
0254a9d75b Support loras based on the stability unet implementation. 2023-06-26 02:56:11 -04:00
comfyanonymous
44e3d3caed Fix ddim + inpainting not working. 2023-06-26 00:48:48 -04:00
comfyanonymous
a098d7e4d2 Set the seed in the SDE samplers to make them more reproducible. 2023-06-25 03:04:57 -04:00
comfyanonymous
6d80c5ed30 Add support for TAESD decoder for SDXL. 2023-06-25 02:38:14 -04:00
comfyanonymous
c4c2db6ead Add DualClipLoader to load clip models for SDXL.
Update LoadClip to load clip models for SDXL refiner.
2023-06-25 01:40:38 -04:00
comfyanonymous
818bae8e52 Fix CLIPLoader node. 2023-06-24 13:56:46 -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
a852d8b138 Move latent scale factor from VAE to model. 2023-06-23 02:33:31 -04:00
comfyanonymous
288f0c430d Fix bug when yaml config has no clip params. 2023-06-23 01:12:59 -04:00
comfyanonymous
40f218c4fa Fix error with ClipVision loader node. 2023-06-23 01:08:05 -04:00
comfyanonymous
4ed8aea1a1 Don't merge weights when shapes don't match and print a warning. 2023-06-22 19:08:31 -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
cd8d0b73c5 Fix last commits causing an issue with the text encoder lora. 2023-06-20 19:44:39 -04:00
comfyanonymous
af9e05f389 Keep a set of model_keys for faster add_patches. 2023-06-20 19:08:48 -04:00
comfyanonymous
2c71c47ff9 Add a type of model patch useful for model merging. 2023-06-20 17:34:11 -04:00
comfyanonymous
5384849e5e Fix k_diffusion math being off by a tiny bit during txt2img. 2023-06-19 15:28:54 -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
26bce56c3b pop clip vision keys after loading them. 2023-06-18 21:21:17 -04:00
comfyanonymous
c1e1b00941 Not needed anymore. 2023-06-18 13:06:59 -04:00
comfyanonymous
78eabd0fd4 This is not needed anymore and causes issues with alphas_cumprod. 2023-06-18 03:18:25 -04:00
comfyanonymous
351d778487 Fix DDIM v-prediction. 2023-06-17 20:48:21 -04:00
comfyanonymous
a93a785f9e Fix an issue when alphas_comprod are half floats. 2023-06-16 17:16:51 -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
282638b813 Add a --gpu-only argument to keep and run everything on the GPU.
Make the CLIP model work on the GPU.
2023-06-15 15:38:52 -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
16c535a309 Properly disable weight initialization in clip models. 2023-06-14 20:13:08 -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
54c3f45d58 Don't initialize CLIPVision weights to default values. 2023-06-14 12:57:02 -04:00
comfyanonymous
0a80429175 Set model to fp16 before loading the state dict to lower ram bump. 2023-06-14 12:48:02 -04:00
comfyanonymous
3e75be0a92 Don't initialize clip weights to default values. 2023-06-14 12:47:36 -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
fd8fa51a6d sampler_cfg_function now uses a dict for the argument.
This means arguments can be added without issues.
2023-06-13 16:10:36 -04:00
comfyanonymous
e4e6a23fec Turn on safe load for a few models. 2023-06-13 10:12:03 -04:00
comfyanonymous
27c98d1d24 Remove pytorch_lightning dependency. 2023-06-13 10:11:33 -04:00
comfyanonymous
807faa8edd Remove useless code. 2023-06-13 02:40:58 -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
a2bc14b56f Split the batch in VAEEncode if there's not enough memory. 2023-06-12 00:21:50 -04:00
comfyanonymous
8ef4de36f4 Auto switch to tiled VAE encode if regular one runs out of memory. 2023-06-11 23:25:39 -04:00
comfyanonymous
b46c4e51ed Refactor unCLIP noise augment out of samplers.py 2023-06-11 04:01:18 -04:00
comfyanonymous
1e0ad9564e Simpler base model code. 2023-06-09 12:31:16 -04:00
comfyanonymous
cbf4192f8d Fix bug when embedding gets ignored because of mismatched size. 2023-06-08 23:48:14 -04:00
comfyanonymous
6c6ef17bd4 Small refactor. 2023-06-06 13:23:01 -04:00
comfyanonymous
d421e5d610 Refactor previews into one command line argument.
Clean up a few things.
2023-06-06 02:13:05 -04:00
space-nuko
2a03db6500 preview method autodetection 2023-06-05 18:59:10 -05:00
space-nuko
8b515aae12 Add latent2rgb preview 2023-06-05 18:39:56 -05:00
space-nuko
a3b400faa4 Make previews into cli option 2023-06-05 13:19:02 -05:00
space-nuko
a816ca9091 Preview sampled images with TAESD 2023-06-05 09:20:17 -05:00
comfyanonymous
442430dcef Some comments to say what the vram state options mean. 2023-06-04 17:51:04 -04:00