aboutsummaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
authorAUTOMATIC1111 <16777216c@gmail.com>2023-04-29 14:03:02 +0300
committerGitHub <noreply@github.com>2023-04-29 14:03:02 +0300
commitfdac48683595699189aa84f8c1bea7b3bf718801 (patch)
tree164a4dbf85bfc12af377d9bb6fcbc4d8569baf5b /modules
parentcb940a583d909f5f144ffc6e4ad83a319620df69 (diff)
parentdab5002c59ce1f68deae5e6e0c03e5e2c27155db (diff)
Merge pull request #9484 from infinitewarp/sort-embeddings
sort embeddings by name (case insensitive)
Diffstat (limited to 'modules')
-rw-r--r--modules/textual_inversion/textual_inversion.py6
1 files changed, 6 insertions, 0 deletions
diff --git a/modules/textual_inversion/textual_inversion.py b/modules/textual_inversion/textual_inversion.py
index d2e62e58..379df243 100644
--- a/modules/textual_inversion/textual_inversion.py
+++ b/modules/textual_inversion/textual_inversion.py
@@ -233,6 +233,12 @@ class EmbeddingDatabase:
self.load_from_dir(embdir)
embdir.update()
+ # re-sort word_embeddings because load_from_dir may not load in alphabetic order.
+ # using a temporary copy so we don't reinitialize self.word_embeddings in case other objects have a reference to it.
+ sorted_word_embeddings = {e.name: e for e in sorted(self.word_embeddings.values(), key=lambda e: e.name.lower())}
+ self.word_embeddings.clear()
+ self.word_embeddings.update(sorted_word_embeddings)
+
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