aboutsummaryrefslogtreecommitdiffstats
path: root/modules/sd_models.py
diff options
context:
space:
mode:
authorBeinsezii <39478211+Beinsezii@users.noreply.github.com>2023-06-27 22:29:47 +0000
committerGitHub <noreply@github.com>2023-06-27 22:29:47 +0000
commit9d8af4bd6aaf09b8a94dc10dd5e99c82e23dec38 (patch)
treed86d470db2289a31e589a7bd777a38784605313c /modules/sd_models.py
parent1d7c51fb9f757b5dcdc506f8fc003e6047151567 (diff)
parentfab73f2e7d388ca99cdb3d5de7f36c0b9a1a3b1c (diff)
downloadstable-diffusion-webui-gfx803-9d8af4bd6aaf09b8a94dc10dd5e99c82e23dec38.tar.gz
stable-diffusion-webui-gfx803-9d8af4bd6aaf09b8a94dc10dd5e99c82e23dec38.tar.bz2
stable-diffusion-webui-gfx803-9d8af4bd6aaf09b8a94dc10dd5e99c82e23dec38.zip
Merge branch 'AUTOMATIC1111:dev' into dev
Diffstat (limited to 'modules/sd_models.py')
-rw-r--r--modules/sd_models.py10
1 files changed, 7 insertions, 3 deletions
diff --git a/modules/sd_models.py b/modules/sd_models.py
index 918f6fd6..f65f4e36 100644
--- a/modules/sd_models.py
+++ b/modules/sd_models.py
@@ -95,8 +95,7 @@ except Exception:
def setup_model():
- if not os.path.exists(model_path):
- os.makedirs(model_path)
+ os.makedirs(model_path, exist_ok=True)
enable_midas_autodownload()
@@ -248,7 +247,12 @@ def read_state_dict(checkpoint_file, print_global_state=False, map_location=None
_, extension = os.path.splitext(checkpoint_file)
if extension.lower() == ".safetensors":
device = map_location or shared.weight_load_location or devices.get_optimal_device_name()
- pl_sd = safetensors.torch.load_file(checkpoint_file, device=device)
+
+ if not shared.opts.disable_mmap_load_safetensors:
+ pl_sd = safetensors.torch.load_file(checkpoint_file, device=device)
+ else:
+ pl_sd = safetensors.torch.load(open(checkpoint_file, 'rb').read())
+ pl_sd = {k: v.to(device) for k, v in pl_sd.items()}
else:
pl_sd = torch.load(checkpoint_file, map_location=map_location or shared.weight_load_location)