aboutsummaryrefslogtreecommitdiffstats
path: root/modules/interrogate.py
diff options
context:
space:
mode:
authorcaptin411 <captindave@gmail.com>2022-10-25 20:22:27 +0000
committercaptin411 <captindave@gmail.com>2022-10-25 20:22:27 +0000
commit6629446a2f9bb3ade1c271854aae1530ba1a8cc3 (patch)
treead7cfd2b3f0208c24da64c7f08e0550e783228ec /modules/interrogate.py
parent3e6c2420c1177e9e79f2b566a5a7795b7416e34a (diff)
parent3e15f8e0f5cc87507f77546d92435670644dbd18 (diff)
downloadstable-diffusion-webui-gfx803-6629446a2f9bb3ade1c271854aae1530ba1a8cc3.tar.gz
stable-diffusion-webui-gfx803-6629446a2f9bb3ade1c271854aae1530ba1a8cc3.tar.bz2
stable-diffusion-webui-gfx803-6629446a2f9bb3ade1c271854aae1530ba1a8cc3.zip
Merge branch 'master' into focal-point-cropping
Diffstat (limited to 'modules/interrogate.py')
-rw-r--r--modules/interrogate.py12
1 files changed, 9 insertions, 3 deletions
diff --git a/modules/interrogate.py b/modules/interrogate.py
index 64b91eb4..65b05d34 100644
--- a/modules/interrogate.py
+++ b/modules/interrogate.py
@@ -28,9 +28,11 @@ class InterrogateModels:
clip_preprocess = None
categories = None
dtype = None
+ running_on_cpu = None
def __init__(self, content_dir):
self.categories = []
+ self.running_on_cpu = devices.device_interrogate == torch.device("cpu")
if os.path.exists(content_dir):
for filename in os.listdir(content_dir):
@@ -53,7 +55,11 @@ class InterrogateModels:
def load_clip_model(self):
import clip
- model, preprocess = clip.load(clip_model_name)
+ if self.running_on_cpu:
+ model, preprocess = clip.load(clip_model_name, device="cpu")
+ else:
+ model, preprocess = clip.load(clip_model_name)
+
model.eval()
model = model.to(devices.device_interrogate)
@@ -62,14 +68,14 @@ class InterrogateModels:
def load(self):
if self.blip_model is None:
self.blip_model = self.load_blip_model()
- if not shared.cmd_opts.no_half:
+ if not shared.cmd_opts.no_half and not self.running_on_cpu:
self.blip_model = self.blip_model.half()
self.blip_model = self.blip_model.to(devices.device_interrogate)
if self.clip_model is None:
self.clip_model, self.clip_preprocess = self.load_clip_model()
- if not shared.cmd_opts.no_half:
+ if not shared.cmd_opts.no_half and not self.running_on_cpu:
self.clip_model = self.clip_model.half()
self.clip_model = self.clip_model.to(devices.device_interrogate)