mirror of
https://git.datalinker.icu/comfyanonymous/ComfyUI
synced 2026-09-13 07:47:06 +08:00
Edit empty token logic
This commit is contained in:
parent
ebef4d9990
commit
2ab88496b5
@ -36,7 +36,11 @@ class ClipTokenWeightEncoder:
|
|||||||
|
|
||||||
sections = len(to_encode)
|
sections = len(to_encode)
|
||||||
if has_weights or sections == 0:
|
if has_weights or sections == 0:
|
||||||
|
if hasattr(self, "gen_empty_tokens"):
|
||||||
|
to_encode.append(self.gen_empty_tokens(self.special_tokens, max_token_len))
|
||||||
|
else:
|
||||||
to_encode.append(gen_empty_tokens(self.special_tokens, max_token_len))
|
to_encode.append(gen_empty_tokens(self.special_tokens, max_token_len))
|
||||||
|
print(to_encode)
|
||||||
|
|
||||||
o = self.encode(to_encode)
|
o = self.encode(to_encode)
|
||||||
out, pooled = o[:2]
|
out, pooled = o[:2]
|
||||||
|
|||||||
@ -3,14 +3,19 @@ import os
|
|||||||
from comfy import sd1_clip
|
from comfy import sd1_clip
|
||||||
import comfy.text_encoders.t5
|
import comfy.text_encoders.t5
|
||||||
import comfy.text_encoders.sd3_clip
|
import comfy.text_encoders.sd3_clip
|
||||||
|
from comfy.sd1_clip import gen_empty_tokens
|
||||||
|
|
||||||
from transformers import T5TokenizerFast
|
from transformers import T5TokenizerFast
|
||||||
|
|
||||||
class T5XXLModel(comfy.text_encoders.sd3_clip.T5XXLModel):
|
class T5XXLModel(comfy.text_encoders.sd3_clip.T5XXLModel):
|
||||||
def __init__(self, **kwargs):
|
def __init__(self, **kwargs):
|
||||||
super().__init__(**kwargs)
|
super().__init__(**kwargs)
|
||||||
# TODO: hacky, should adjust new empty logic instead to make weights work
|
|
||||||
self.special_tokens.pop("end")
|
def gen_empty_tokens(self, special_tokens, *args, **kwargs):
|
||||||
|
# PixArt expects the negative to be all pad tokens
|
||||||
|
special_tokens = special_tokens.copy()
|
||||||
|
special_tokens.pop("end")
|
||||||
|
return gen_empty_tokens(special_tokens, *args, **kwargs)
|
||||||
|
|
||||||
class PixArtT5XXL(sd1_clip.SD1ClipModel):
|
class PixArtT5XXL(sd1_clip.SD1ClipModel):
|
||||||
def __init__(self, device="cpu", dtype=None, model_options={}):
|
def __init__(self, device="cpu", dtype=None, model_options={}):
|
||||||
@ -25,7 +30,6 @@ class PixArtTokenizer(sd1_clip.SD1Tokenizer):
|
|||||||
def __init__(self, embedding_directory=None, tokenizer_data={}):
|
def __init__(self, embedding_directory=None, tokenizer_data={}):
|
||||||
super().__init__(embedding_directory=embedding_directory, tokenizer_data=tokenizer_data, clip_name="t5xxl", tokenizer=T5XXLTokenizer)
|
super().__init__(embedding_directory=embedding_directory, tokenizer_data=tokenizer_data, clip_name="t5xxl", tokenizer=T5XXLTokenizer)
|
||||||
|
|
||||||
# TODO: don't duplicate this?
|
|
||||||
def pixart_te(dtype_t5=None, t5xxl_scaled_fp8=None):
|
def pixart_te(dtype_t5=None, t5xxl_scaled_fp8=None):
|
||||||
class PixArtTEModel_(PixArtT5XXL):
|
class PixArtTEModel_(PixArtT5XXL):
|
||||||
def __init__(self, device="cpu", dtype=None, model_options={}):
|
def __init__(self, device="cpu", dtype=None, model_options={}):
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user