From 13a2e6ca33bc095bfb9c408298f40fe5a8d3ecdf Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Sat, 19 Oct 2024 13:20:33 -0400 Subject: [PATCH] update torch requirements Signed-off-by: Vladimir Mandic --- installer.py | 5 ++++- modules/interrogate.py | 2 ++ modules/sd_hijack.py | 4 +++- requirements.txt | 8 ++++---- 4 files changed, 13 insertions(+), 6 deletions(-) diff --git a/installer.py b/installer.py index a35f97dba..0c25f0446 100644 --- a/installer.py +++ b/installer.py @@ -212,7 +212,10 @@ def installed(package, friendly: str = None, reload = False, quiet = False): pkgs = [p for p in package.split() if not p.startswith('-') and not p.startswith('=')] pkgs = [p.split('/')[-1] for p in pkgs] # get only package name if installing from url for pkg in pkgs: - if '>=' in pkg: + if '!=' in pkg: + p = pkg.split('!=') + return True # check for not equal always return true + elif '>=' in pkg: p = pkg.split('>=') else: p = pkg.split('==') diff --git a/modules/interrogate.py b/modules/interrogate.py index 68c8aca00..5ae06fb90 100644 --- a/modules/interrogate.py +++ b/modules/interrogate.py @@ -252,6 +252,8 @@ def get_clip_models(): def load_interrogator(clip_model, blip_model): + from installer import install + install('clip_interrogator==0.6.0') import clip_interrogator clip_interrogator.CAPTION_MODELS = caption_models global ci # pylint: disable=global-statement diff --git a/modules/sd_hijack.py b/modules/sd_hijack.py index 8ddd1f8ec..75e51f4da 100644 --- a/modules/sd_hijack.py +++ b/modules/sd_hijack.py @@ -20,7 +20,6 @@ with contextlib.redirect_stdout(stdout): import modules.textual_inversion.textual_inversion from modules import devices, sd_hijack_optimizations -from modules import sd_hijack_clip, sd_hijack_open_clip, sd_hijack_unet, sd_hijack_xlmr, xlmr from modules.hypernetworks import hypernetwork attention_CrossAttention_forward = ldm.modules.attention.CrossAttention.forward @@ -40,6 +39,7 @@ current_optimizer = SimpleNamespace(**{ "name": "none" }) def apply_optimizations(): undo_optimizations() + from modules import sd_hijack_unet ldm.modules.diffusionmodules.model.nonlinearity = silu ldm.modules.diffusionmodules.openaimodel.th = sd_hijack_unet.th optimization_method = None @@ -159,6 +159,7 @@ class StableDiffusionModelHijack: self.embedding_db.add_embedding_dir(shared.opts.embeddings_dir) def hijack(self, m): + from modules import sd_hijack_clip, sd_hijack_open_clip, sd_hijack_unet, sd_hijack_xlmr, xlmr if type(m.cond_stage_model) == xlmr.BertSeriesModelWithTransformation: model_embeddings = m.cond_stage_model.roberta.embeddings model_embeddings.token_embedding = EmbeddingsWithFixes(model_embeddings.word_embeddings, self) @@ -223,6 +224,7 @@ class StableDiffusionModelHijack: self.layers = flatten(m) def undo_hijack(self, m): + from modules import sd_hijack_clip, sd_hijack_open_clip, xlmr if not hasattr(m, 'cond_stage_model'): return # not ldm model if type(m.cond_stage_model) == xlmr.BertSeriesModelWithTransformation: diff --git a/requirements.txt b/requirements.txt index 4999331ca..374451a57 100644 --- a/requirements.txt +++ b/requirements.txt @@ -3,7 +3,6 @@ patch-ng anyio addict astunparse -clean-fid filetype future GitPython @@ -12,7 +11,6 @@ inflection jsonmerge kornia lark -lpips omegaconf optimum piexif @@ -35,8 +33,6 @@ peft==0.13.1 httpx==0.24.1 compel==2.0.3 torchsde==0.2.6 -open-clip-torch -clip-interrogator==0.6.0 antlr4-python3-runtime==4.9.3 requests==2.32.3 tqdm==4.66.5 @@ -65,3 +61,7 @@ torchdiffeq dctorch scikit-image seam-carving +open-clip-torch + +# TODO temporary block for torch==2.5.0 +torchvision!=0.20.0