aboutsummaryrefslogtreecommitdiffstats
path: root/modules/textual_inversion/textual_inversion.py
diff options
context:
space:
mode:
authorBrad Smith <bradster@infinitewarp.com>2023-04-08 19:58:00 +0000
committerBrad Smith <bradster@infinitewarp.com>2023-04-08 19:58:00 +0000
commit27b9ec60e4ede748ec23615fecddb70e48daa623 (patch)
tree536a9223ac3b075305e7ed3c3ec0ec9ed3566520 /modules/textual_inversion/textual_inversion.py
parent22bcc7be428c94e9408f589966c2040187245d81 (diff)
downloadstable-diffusion-webui-gfx803-27b9ec60e4ede748ec23615fecddb70e48daa623.tar.gz
stable-diffusion-webui-gfx803-27b9ec60e4ede748ec23615fecddb70e48daa623.tar.bz2
stable-diffusion-webui-gfx803-27b9ec60e4ede748ec23615fecddb70e48daa623.zip
sort embeddings by name (case insensitive)
Diffstat (limited to 'modules/textual_inversion/textual_inversion.py')
-rw-r--r--modules/textual_inversion/textual_inversion.py7
1 files changed, 5 insertions, 2 deletions
diff --git a/modules/textual_inversion/textual_inversion.py b/modules/textual_inversion/textual_inversion.py
index d2e62e58..7c50839f 100644
--- a/modules/textual_inversion/textual_inversion.py
+++ b/modules/textual_inversion/textual_inversion.py
@@ -2,7 +2,7 @@ import os
import sys
import traceback
import inspect
-from collections import namedtuple
+from collections import namedtuple, OrderedDict
import torch
import tqdm
@@ -108,7 +108,7 @@ class DirWithTextualInversionEmbeddings:
class EmbeddingDatabase:
def __init__(self):
self.ids_lookup = {}
- self.word_embeddings = {}
+ self.word_embeddings = OrderedDict()
self.skipped_embeddings = {}
self.expected_shape = -1
self.embedding_dirs = {}
@@ -233,6 +233,9 @@ class EmbeddingDatabase:
self.load_from_dir(embdir)
embdir.update()
+ # re-sort word_embeddings because load_from_dir may not load in alphabetic order.
+ self.word_embeddings = {e.name: e for e in sorted(self.word_embeddings.values(), key=lambda e: e.name.lower())}
+
displayed_embeddings = (tuple(self.word_embeddings.keys()), tuple(self.skipped_embeddings.keys()))
if self.previously_displayed_embeddings != displayed_embeddings:
self.previously_displayed_embeddings = displayed_embeddings