aboutsummaryrefslogtreecommitdiffstats
path: root/modules/sd_models.py
diff options
context:
space:
mode:
authorspace-nuko <24979496+space-nuko@users.noreply.github.com>2023-04-02 22:41:55 +0000
committerspace-nuko <24979496+space-nuko@users.noreply.github.com>2023-04-02 22:41:55 +0000
commitd132481058f8a827cd407f2121f128a2bb862f7a (patch)
tree289f5462847c1fafeec3b8218028b0b813dbe8af /modules/sd_models.py
parent22bcc7be428c94e9408f589966c2040187245d81 (diff)
downloadstable-diffusion-webui-gfx803-d132481058f8a827cd407f2121f128a2bb862f7a.tar.gz
stable-diffusion-webui-gfx803-d132481058f8a827cd407f2121f128a2bb862f7a.tar.bz2
stable-diffusion-webui-gfx803-d132481058f8a827cd407f2121f128a2bb862f7a.zip
Embed model merge metadata in .safetensors file
Diffstat (limited to 'modules/sd_models.py')
-rw-r--r--modules/sd_models.py11
1 files changed, 10 insertions, 1 deletions
diff --git a/modules/sd_models.py b/modules/sd_models.py
index 6ea874df..4f7613a1 100644
--- a/modules/sd_models.py
+++ b/modules/sd_models.py
@@ -52,6 +52,15 @@ class CheckpointInfo:
self.ids = [self.hash, self.model_name, self.title, name, f'{name} [{self.hash}]'] + ([self.shorthash, self.sha256, f'{self.name} [{self.shorthash}]'] if self.shorthash else [])
+ self.metadata = {}
+
+ _, ext = os.path.splitext(self.filename)
+ if ext.lower() == ".safetensors":
+ try:
+ self.metadata = read_metadata_from_safetensors(filename)
+ except Exception as e:
+ errors.display(e, f"reading checkpoint metadata: {filename}")
+
def register(self):
checkpoints_list[self.title] = self
for id in self.ids:
@@ -544,4 +553,4 @@ def unload_model_weights(sd_model=None, info=None):
print(f"Unloaded weights {timer.summary()}.")
- return sd_model \ No newline at end of file
+ return sd_model