mirror of
https://github.com/vladmandic/automatic
synced 2026-09-19 01:04:32 +02:00
add user lora tags
This commit is contained in:
@@ -61,6 +61,7 @@ Some highlights: [OpenVINO](https://github.com/vladmandic/automatic/wiki/OpenVIN
|
||||
- **Extra networks**
|
||||
- sort by name, size, date, etc.
|
||||
- switch between *gallery* and *list* views
|
||||
- add tags from user metadata (in addition to tags in model metadata) for **lora**
|
||||
- faster enumeration of all networks on server startup
|
||||
- **Packages**
|
||||
- updated `diffusers` to 0.22.0, `transformers` to 4.34.1
|
||||
|
||||
@@ -16,7 +16,8 @@ class ExtraNetworksPageLora(ui_extra_networks.ExtraNetworksPage):
|
||||
l = networks.available_networks.get(name)
|
||||
try:
|
||||
path, _ext = os.path.splitext(l.filename)
|
||||
possible_tags = l.metadata.get('ss_tag_frequency', {}) if l.metadata is not None else {}
|
||||
name = os.path.splitext(os.path.relpath(l.filename, shared.cmd_opts.lora_dir))[0]
|
||||
|
||||
if shared.backend == shared.Backend.ORIGINAL:
|
||||
if l.sd_version == network.SdVersion.SDXL:
|
||||
return None
|
||||
@@ -29,6 +30,9 @@ class ExtraNetworksPageLora(ui_extra_networks.ExtraNetworksPage):
|
||||
elif shared.sd_model_type == 'sd':
|
||||
if l.sd_version == network.SdVersion.SDXL:
|
||||
return None
|
||||
|
||||
# tags from model metedata
|
||||
possible_tags = l.metadata.get('ss_tag_frequency', {}) if l.metadata is not None else {}
|
||||
if isinstance(possible_tags, str):
|
||||
possible_tags = {}
|
||||
tags = {}
|
||||
@@ -38,10 +42,7 @@ class ExtraNetworksPageLora(ui_extra_networks.ExtraNetworksPage):
|
||||
if words[0] == '{}':
|
||||
words[0] = 0
|
||||
tags[' '.join(words[1:])] = words[0]
|
||||
possible_tags = l.metadata.get('tags', []) if l.metadata is not None else []
|
||||
for tag in possible_tags:
|
||||
tags[tag] = 1
|
||||
name = os.path.splitext(os.path.relpath(l.filename, shared.cmd_opts.lora_dir))[0]
|
||||
|
||||
item = {
|
||||
"type": 'Lora',
|
||||
"name": name,
|
||||
@@ -52,12 +53,21 @@ class ExtraNetworksPageLora(ui_extra_networks.ExtraNetworksPage):
|
||||
"prompt": json.dumps(f" <lora:{l.get_alias()}:{shared.opts.extra_networks_default_multiplier}>"),
|
||||
"local_preview": f"{path}.{shared.opts.samples_format}",
|
||||
"metadata": json.dumps(l.metadata, indent=4) if l.metadata else None,
|
||||
"tags": tags,
|
||||
"mtime": os.path.getmtime(l.filename),
|
||||
"size": os.path.getsize(l.filename),
|
||||
}
|
||||
item["info"] = self.find_info(l.filename)
|
||||
item["description"] = self.find_description(l.filename, item["info"]) # use existing info instead of double-read
|
||||
info = self.find_info(l.filename)
|
||||
item["info"] = info
|
||||
item["description"] = self.find_description(l.filename, info) # use existing info instead of double-read
|
||||
|
||||
# tags from user metadata
|
||||
possible_tags = info.get('tags', [])
|
||||
if not isinstance(possible_tags, list):
|
||||
possible_tags = [v for v in possible_tags.values()]
|
||||
for v in possible_tags:
|
||||
tags[v] = 0
|
||||
item["tags"] = tags
|
||||
|
||||
return item
|
||||
except Exception as e:
|
||||
shared.log.debug(f"Extra networks error: type=lora file={name} {e}")
|
||||
|
||||
@@ -199,7 +199,7 @@ table.settings-value-table td { padding: 0.4em; border: 1px solid #ccc; max-widt
|
||||
.extra-network-cards .card:hover .preview { box-shadow: none; filter: grayscale(100%); }
|
||||
.extra-network-cards .card:hover .overlay { background: rgba(0, 0, 0, 0.40); }
|
||||
.extra-network-cards .card .overlay .tags { display: none; overflow-wrap: break-word; }
|
||||
.extra-network-cards .card .overlay .tag { padding: 3px; background: rgba(70, 70, 70, 0.60); font-size: var(--text-lg); cursor: pointer; display: inline-block; margin-bottom: 4px; }
|
||||
.extra-network-cards .card .overlay .tag { padding: 2px; margin: 2px; background: rgba(70, 70, 70, 0.60); font-size: var(--text-md); cursor: pointer; display: inline-block; }
|
||||
.extra-network-cards .card .actions > span { padding: 4px; }
|
||||
.extra-network-cards .card .actions > span:hover { color: var(--highlight-color); }
|
||||
.extra-network-cards .card:hover .actions { display: block; }
|
||||
|
||||
@@ -51,7 +51,7 @@ class ExtraNetworksPageTextualInversion(ui_extra_networks.ExtraNetworksPage):
|
||||
"filename": embedding.filename,
|
||||
"preview": self.find_preview(path),
|
||||
"search_term": self.search_terms_from_path(name),
|
||||
"prompt": json.dumps(os.path.splitext(embedding.name)[0]),
|
||||
"prompt": json.dumps(f" {os.path.splitext(embedding.name)[0]}"),
|
||||
"local_preview": f"{path}.{shared.opts.samples_format}",
|
||||
"tags": tags,
|
||||
"mtime": os.path.getmtime(embedding.filename),
|
||||
|
||||
Reference in New Issue
Block a user