diff options
author | fuchen.ljl <yjqqqqdx_01@163.com> | 2023-12-06 20:42:04 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-12-06 20:42:04 +0800 |
commit | c2bdbb67b66de06f1163de3f10c290213cd6bdb0 (patch) | |
tree | 0fcb3010a72ad253862f317ea18fdeb46b05a322 /modules/ui_extra_networks_textual_inversion.py | |
parent | 4d56383025f2cbd00dc6296161e31a896624ab75 (diff) | |
parent | f92d61497a426a19818625c3ccdaae9beeb82b31 (diff) |
Merge branch 'dev' into kingljl-patch-memory-leak
Diffstat (limited to 'modules/ui_extra_networks_textual_inversion.py')
-rw-r--r-- | modules/ui_extra_networks_textual_inversion.py | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/modules/ui_extra_networks_textual_inversion.py b/modules/ui_extra_networks_textual_inversion.py index 55ef0ea7..1b334fda 100644 --- a/modules/ui_extra_networks_textual_inversion.py +++ b/modules/ui_extra_networks_textual_inversion.py @@ -14,6 +14,8 @@ class ExtraNetworksPageTextualInversion(ui_extra_networks.ExtraNetworksPage): def create_item(self, name, index=None, enable_filter=True):
embedding = sd_hijack.model_hijack.embedding_db.word_embeddings.get(name)
+ if embedding is None:
+ return
path, ext = os.path.splitext(embedding.filename)
return {
@@ -29,8 +31,12 @@ class ExtraNetworksPageTextualInversion(ui_extra_networks.ExtraNetworksPage): }
def list_items(self):
- for index, name in enumerate(sd_hijack.model_hijack.embedding_db.word_embeddings):
- yield self.create_item(name, index)
+ # instantiate a list to protect against concurrent modification
+ names = list(sd_hijack.model_hijack.embedding_db.word_embeddings)
+ for index, name in enumerate(names):
+ item = self.create_item(name, index)
+ if item is not None:
+ yield item
def allowed_directories_for_previews(self):
return list(sd_hijack.model_hijack.embedding_db.embedding_dirs)
|