aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAUTOMATIC1111 <16777216c@gmail.com>2023-07-16 07:07:02 +0000
committerAUTOMATIC1111 <16777216c@gmail.com>2023-07-16 07:07:02 +0000
commit7b052eb70eb2a35ce4f776b1e2ab1389802a41b5 (patch)
tree18a60901e35276f6428d97d194a38c64c10c98af
parentccd97886da1f659472cdca3de8731f59a70bbc28 (diff)
downloadstable-diffusion-webui-gfx803-7b052eb70eb2a35ce4f776b1e2ab1389802a41b5.tar.gz
stable-diffusion-webui-gfx803-7b052eb70eb2a35ce4f776b1e2ab1389802a41b5.tar.bz2
stable-diffusion-webui-gfx803-7b052eb70eb2a35ce4f776b1e2ab1389802a41b5.zip
add resolution calculation from buckets for lora user metadata page
-rw-r--r--extensions-builtin/Lora/lora.py1
-rw-r--r--extensions-builtin/Lora/ui_edit_user_metadata.py28
2 files changed, 22 insertions, 7 deletions
diff --git a/extensions-builtin/Lora/lora.py b/extensions-builtin/Lora/lora.py
index c8710922..467ad65f 100644
--- a/extensions-builtin/Lora/lora.py
+++ b/extensions-builtin/Lora/lora.py
@@ -86,7 +86,6 @@ class LoraOnDisk:
if self.is_safetensors:
try:
- #self.metadata = sd_models.read_metadata_from_safetensors(filename)
self.metadata = cache.cached_data_for_file('safetensors-metadata', "lora/" + self.name, filename, read_metadata)
except Exception as e:
errors.display(e, f"reading lora {filename}")
diff --git a/extensions-builtin/Lora/ui_edit_user_metadata.py b/extensions-builtin/Lora/ui_edit_user_metadata.py
index 6db63b09..354a1d68 100644
--- a/extensions-builtin/Lora/ui_edit_user_metadata.py
+++ b/extensions-builtin/Lora/ui_edit_user_metadata.py
@@ -65,17 +65,33 @@ class LoraUserMetadataEditor(ui_extra_networks_user_metadata.UserMetadataEditor)
item = self.page.items.get(name, {})
metadata = item.get("metadata") or {}
- keys = [
- ('ss_sd_model_name', "Model:"),
- ('ss_resolution', "Resolution:"),
- ('ss_clip_skip', "Clip skip:"),
- ]
+ keys = {
+ 'ss_sd_model_name': "Model:",
+ 'ss_clip_skip': "Clip skip:",
+ }
- for key, label in keys:
+ for key, label in keys.items():
value = metadata.get(key, None)
if value is not None and str(value) != "None":
table.append((label, html.escape(value)))
+ ss_bucket_info = metadata.get("ss_bucket_info")
+ if ss_bucket_info and "buckets" in ss_bucket_info:
+ resolutions = {}
+ for _, bucket in ss_bucket_info["buckets"].items():
+ resolution = bucket["resolution"]
+ resolution = f'{resolution[1]}x{resolution[0]}'
+
+ resolutions[resolution] = resolutions.get(resolution, 0) + int(bucket["count"])
+
+ resolutions_list = sorted(resolutions.keys(), key=resolutions.get, reverse=True)
+ resolutions_text = html.escape(", ".join(resolutions_list[0:4]))
+ if len(resolutions) > 4:
+ resolutions_text += ", ..."
+ resolutions_text = f"<span title='{html.escape(', '.join(resolutions_list))}'>{resolutions_text}</span>"
+
+ table.append(('Resolutions:' if len(resolutions_list) > 1 else 'Resolution:', resolutions_text))
+
image_count = 0
for _, params in metadata.get("ss_dataset_dirs", {}).items():
image_count += int(params.get("img_count", 0))