Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
chenpangpang
ComfyUI
Commits
606a5370
"git@developer.sourcefind.cn:zhiAn123/internlm2-math-7b.git" did not exist on "842fa0414d83c269677075a027af1ab9a7ec4f3f"
Commit
606a5370
authored
Jul 10, 2023
by
comfyanonymous
Browse files
Support SDXL embedding format with 2 CLIP.
parent
6ad0a6d7
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
9 additions
and
6 deletions
+9
-6
comfy/latent_formats.py
comfy/latent_formats.py
+1
-1
comfy/sd1_clip.py
comfy/sd1_clip.py
+7
-4
comfy/sdxl_clip.py
comfy/sdxl_clip.py
+1
-1
No files found.
comfy/latent_formats.py
View file @
606a5370
...
...
@@ -21,7 +21,7 @@ class SD15(LatentFormat):
class
SDXL
(
LatentFormat
):
def
__init__
(
self
):
self
.
scale_factor
=
0.13025
self
.
latent_rgb_factors
=
[
#TODO: these are the factors for SD1.5, need to estimate new ones for SDXL
self
.
latent_rgb_factors
=
[
# R G B
[
0.3920
,
0.4054
,
0.4549
],
[
-
0.2634
,
-
0.0196
,
0.0653
],
...
...
comfy/sd1_clip.py
View file @
606a5370
...
...
@@ -233,7 +233,7 @@ def expand_directory_list(directories):
dirs
.
add
(
root
)
return
list
(
dirs
)
def
load_embed
(
embedding_name
,
embedding_directory
,
embedding_size
):
def
load_embed
(
embedding_name
,
embedding_directory
,
embedding_size
,
embed_key
=
None
):
if
isinstance
(
embedding_directory
,
str
):
embedding_directory
=
[
embedding_directory
]
...
...
@@ -292,13 +292,15 @@ def load_embed(embedding_name, embedding_directory, embedding_size):
continue
out_list
.
append
(
t
.
reshape
(
-
1
,
t
.
shape
[
-
1
]))
embed_out
=
torch
.
cat
(
out_list
,
dim
=
0
)
elif
embed_key
is
not
None
and
embed_key
in
embed
:
embed_out
=
embed
[
embed_key
]
else
:
values
=
embed
.
values
()
embed_out
=
next
(
iter
(
values
))
return
embed_out
class
SD1Tokenizer
:
def
__init__
(
self
,
tokenizer_path
=
None
,
max_length
=
77
,
pad_with_end
=
True
,
embedding_directory
=
None
,
embedding_size
=
768
):
def
__init__
(
self
,
tokenizer_path
=
None
,
max_length
=
77
,
pad_with_end
=
True
,
embedding_directory
=
None
,
embedding_size
=
768
,
embedding_key
=
'clip_l'
):
if
tokenizer_path
is
None
:
tokenizer_path
=
os
.
path
.
join
(
os
.
path
.
dirname
(
os
.
path
.
realpath
(
__file__
)),
"sd1_tokenizer"
)
self
.
tokenizer
=
CLIPTokenizer
.
from_pretrained
(
tokenizer_path
)
...
...
@@ -315,17 +317,18 @@ class SD1Tokenizer:
self
.
max_word_length
=
8
self
.
embedding_identifier
=
"embedding:"
self
.
embedding_size
=
embedding_size
self
.
embedding_key
=
embedding_key
def
_try_get_embedding
(
self
,
embedding_name
:
str
):
'''
Takes a potential embedding name and tries to retrieve it.
Returns a Tuple consisting of the embedding and any leftover string, embedding can be None.
'''
embed
=
load_embed
(
embedding_name
,
self
.
embedding_directory
,
self
.
embedding_size
)
embed
=
load_embed
(
embedding_name
,
self
.
embedding_directory
,
self
.
embedding_size
,
self
.
embedding_key
)
if
embed
is
None
:
stripped
=
embedding_name
.
strip
(
','
)
if
len
(
stripped
)
<
len
(
embedding_name
):
embed
=
load_embed
(
stripped
,
self
.
embedding_directory
,
self
.
embedding_size
)
embed
=
load_embed
(
stripped
,
self
.
embedding_directory
,
self
.
embedding_size
,
self
.
embedding_key
)
return
(
embed
,
embedding_name
[
len
(
stripped
):])
return
(
embed
,
""
)
...
...
comfy/sdxl_clip.py
View file @
606a5370
...
...
@@ -41,7 +41,7 @@ class SDXLClipG(sd1_clip.SD1ClipModel):
class
SDXLClipGTokenizer
(
sd1_clip
.
SD1Tokenizer
):
def
__init__
(
self
,
tokenizer_path
=
None
,
embedding_directory
=
None
):
super
().
__init__
(
tokenizer_path
,
pad_with_end
=
False
,
embedding_directory
=
embedding_directory
,
embedding_size
=
1280
)
super
().
__init__
(
tokenizer_path
,
pad_with_end
=
False
,
embedding_directory
=
embedding_directory
,
embedding_size
=
1280
,
embedding_key
=
'clip_g'
)
class
SDXLTokenizer
(
sd1_clip
.
SD1Tokenizer
):
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment