Make sure encode_from_tokens_scheduled will respect use_clip_schedule on clip

This commit is contained in:
Jedrzej Kosinski 2024-11-29 18:42:34 -06:00
parent a54e734ea7
commit f48c0c15c9

View File

@ -137,8 +137,8 @@ class CLIP:
def encode_from_tokens_scheduled(self, tokens, unprojected=False, add_dict: dict[str]={}, show_pbar=True): def encode_from_tokens_scheduled(self, tokens, unprojected=False, add_dict: dict[str]={}, show_pbar=True):
all_cond_pooled: list[tuple[torch.Tensor, dict[str]]] = [] all_cond_pooled: list[tuple[torch.Tensor, dict[str]]] = []
all_hooks = self.patcher.forced_hooks all_hooks = self.patcher.forced_hooks
if all_hooks is None: if all_hooks is None or not self.use_clip_schedule:
# if no hooks, do unscheduled encode_from_tokens and perform add_dict # if no hooks or shouldn't use clip schedule, do unscheduled encode_from_tokens and perform add_dict
return_pooled = "unprojected" if unprojected else True return_pooled = "unprojected" if unprojected else True
pooled_dict = self.encode_from_tokens(tokens, return_pooled=return_pooled, return_dict=True) pooled_dict = self.encode_from_tokens(tokens, return_pooled=return_pooled, return_dict=True)
cond = pooled_dict.pop("cond") cond = pooled_dict.pop("cond")