73 Commits

Author SHA1 Message Date
comfyanonymous
28b12fb344 Long CLIP L support for SDXL, SD3 and Flux.
Use the *CLIPLoader nodes.
2024-09-15 07:59:38 -04:00
comfyanonymous
2062f06e50 Properly set if clip text pooled projection instead of using hack. 2024-08-20 10:46:36 -04:00
comfyanonymous
03c874ec6e Add model_options for text encoder. 2024-08-17 11:17:20 -04:00
comfyanonymous
7c94219393 Fix bundled embed. 2024-08-07 13:30:45 -04:00
comfyanonymous
04f70b853e Support format for embeddings bundled in loras. 2024-08-07 03:45:25 -04:00
comfyanonymous
4e9abfb0d5 Lower CLIP memory usage by a bit. 2024-07-31 01:32:35 -04:00
comfyanonymous
671fba8c0d Fix potential issue with non clip text embeddings. 2024-07-30 14:41:13 -04:00
comfyanonymous
15a95668ae Let tokenizers return weights to be stored in the saved checkpoint. 2024-07-25 10:52:09 -04:00
comfyanonymous
33e584b3bc Make it possible to load tokenizer data from checkpoints. 2024-07-24 16:43:53 -04:00
comfyanonymous
238efd021c More flexibility with text encoder return values.
Text encoders can now return other values to the CONDITIONING than the cond
and pooled output.
2024-07-10 20:06:50 -04:00
comfyanonymous
27226fb151 Support returning text encoder attention masks. 2024-07-10 19:31:22 -04:00
comfyanonymous
002954b124 Rename clip_t5base to t5base for stable audio text encoder. 2024-07-08 08:53:55 -04:00
comfyanonymous
b9b3986c45 Allow specifying the padding token for the tokenizer. 2024-07-06 00:06:49 -04:00
comfyanonymous
fc982c3e43 Allow zeroing out of embeds with unused attention mask. 2024-07-05 23:48:17 -04:00
Mario Klingemann
c39be91219 Update sd1_clip.py (#3684)
Made token instance check more flexible so it also works with integers from numpy arrays or long tensors
2024-06-19 16:42:41 -04:00
comfyanonymous
917810a2c6 Load the SD3 T5xxl model in the same dtype stored in the checkpoint. 2024-06-11 17:03:26 -04:00
comfyanonymous
a2a20c27f4 Support zeroing out text embeddings with the attention mask. 2024-06-09 16:51:58 -04:00
comfyanonymous
add86d4eb5 Use the end token for the text encoder attention mask. 2024-06-07 03:05:23 -04:00
comfyanonymous
35d0fd9a5d Replace prints with logging and add --verbose argument. 2024-03-10 12:14:23 -04:00
comfyanonymous
13fb082928 Add a min_length property to tokenizer class. 2024-02-26 21:36:37 -05:00
comfyanonymous
c8556665f0 Make return_projected_pooled setable from the __init__ 2024-02-25 14:49:13 -05:00
comfyanonymous
766b45c2c1 Always return unprojected pooled output for gligen. 2024-02-25 07:33:13 -05:00
comfyanonymous
9e5c5a0ad3 Move text projection into the CLIP model code.
Fix issue with not loading the SSD1B clip correctly.
2024-02-25 01:41:08 -05:00
comfyanonymous
b102d65c41 StableCascade CLIP model support. 2024-02-16 13:29:04 -05:00
comfyanonymous
2f33a09886 Cleanup some unused imports. 2024-01-21 21:51:22 -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
63349484b8 Make --gpu-only put intermediate values in GPU memory instead of cpu. 2023-12-08 02:35:45 -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
9002e58ce5 Less useless downcasting. 2023-12-04 12:53:46 -05:00
comfyanonymous
35b7304ac5 Fix last pr. 2023-11-14 14:41:31 -05:00
Jianqi Pan
58a23fc106 fix: adaptation to older versions of pytroch 2023-11-14 14:32:05 +09:00
comfyanonymous
842ac7fb1b CLIP code refactor and improvements.
More generic clip model class that can be used on more types of text
encoders.

Don't apply weighting algorithm when weight is 1.0

Don't compute an empty token output when it's not needed.
2023-11-06 14:17:41 -05:00
comfyanonymous
01e37204ed Make SDTokenizer class work with more types of tokenizers. 2023-11-06 01:09:18 -05:00
comfyanonymous
9533904e39 Fix checkpoint loader with config. 2023-10-27 22:13:55 -04:00
comfyanonymous
3ad424ff47 SD1 and SD2 clip and tokenizer code is now more similar to the SDXL one. 2023-10-27 15:54:04 -04:00
comfyanonymous
817a182bac Restrict loading embeddings from embedding folders. 2023-10-27 02:54:13 -04:00
comfyanonymous
11df5713a0 Support for text encoder models that need attention_mask. 2023-09-15 02:02:05 -04:00
comfyanonymous
36cc11edbd Fix issue where autocast fp32 CLIP gave different results from regular. 2023-09-11 21:49:56 -04:00
comfyanonymous
145e279e6c Move text_projection to base clip model. 2023-08-24 23:43:48 -04:00
comfyanonymous
5dbbb2c93c Fix potential issue with text projection matrix multiplication. 2023-08-24 00:54:16 -04:00
comfyanonymous
1aff0360c3 Initialize text encoder to target dtype. 2023-08-23 21:01:15 -04:00
comfyanonymous
e7fc7fb557 Save memory by storing text encoder weights in fp16 in most situations.
Do inference in fp32 to make sure quality stays the exact same.
2023-08-23 01:08:51 -04:00
comfyanonymous
bbd5052ed0 Make sure the pooled output stays at the EOS token with added embeddings. 2023-08-03 20:27:50 -04:00
comfyanonymous
f67f1c99b8 Fix CLIPSetLastLayer not reverting when removed. 2023-07-15 01:41:21 -04:00
comfyanonymous
28bf6d49da Fix potential tensors being on different devices issues. 2023-07-12 19:29:27 -04:00
comfyanonymous
6e99974161 Support SDXL embedding format with 2 CLIP. 2023-07-10 10:34:59 -04:00
comfyanonymous
d3b3c94616 Fix bug with weights when prompt is long. 2023-07-06 02:43:40 -04:00
comfyanonymous
5ace1146c5 Lower latency by batching some text encoder inputs. 2023-07-01 15:07:39 -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