mirror of
https://github.com/DominikDoom/a1111-sd-webui-tagcomplete.git
synced 2026-11-05 00:17:25 +00:00
[GH-ISSUE #297] [WebUI Forge] Cannot reload embeddings instantly #206
Labels
No labels
bug
duplicate
enhancement
help wanted
invalid
low priority
low priority
pull-request
question
waiting for feedback
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
DominikDoom/a1111-sd-webui-tagcomplete#206
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @bluenyx on GitHub (Aug 11, 2024).
Original GitHub issue: https://github.com/DominikDoom/a1111-sd-webui-tagcomplete/issues/297
WebUI : forge - [f2.0.1v1.10.1-previous-222-g33187c26]
python: 3.11.9
torch: 2.4.0+cu124
gradio: 4.40.0
Tag Autocomplete: Cannot reload embeddings instantly: 'StableDiffusionModelHijack' object has no attribute 'embedding_db'
And, I have easynegative, but it's not added.
@DominikDoom commented on GitHub (Aug 11, 2024):
It seems webui forge had a pretty big backend rewrite which broke many extensions.
I tried my best to add fallbacks for its changes, and it should be partially fixed now, but some things are still different from before.
The main things to consider:
negative/...) to only show embeddings of that subfolder (this was possible before, even though the folder prefixes weren't shown in the completion UI)There might be more changes in the future, as some things in forge still seem broken in general right now and its rewrite isn't finished yet. For example, multiple API endpoints don't work and the TI embeddings extra network tab also doesn't show only the embeddings matching the currently loaded model, but all of them.
Depending on how these are fixed, my workaround might get broken again, so I'm leaving this issue open for the meantime.
@Hazitos commented on GitHub (Sep 4, 2024):
I am having a very similar bug but with my UI itself not loading certain aspects like, checkpoints, loras, embeddings and even reloading the UI seems to to not work anymore, it just freezes and never finishes. I'll be making a separate bug report about this.
@GeminiSquishGames commented on GitHub (Sep 20, 2024):
Interesting. This doesn't even work in forge for me and hasn't for a few months. Same with prompt-all-in-one... but not only them. They really dropped the ball I guess.
@Symbiomatrix commented on GitHub (Oct 11, 2024):
@DominikDoom Any idea why they dropped the filenames in the first place? It's still littered all over the production code (eg
sd_forge_lora/networks.load_networksrefers to it on exception,backend/text_processing/textual_inversion.create_embedding_from_datataking a filepath it doesn't use), two months later.@DominikDoom commented on GitHub (Oct 11, 2024):
@Symbiomatrix All I can tell you is that it happened during the big backend rework where forge migrated away from all the hijack stuff used in base A1111, but I don't know if it was intentional. It might very well just be an oversight that got lost during the "move fast, break things" period of said rework.
@DenOfEquity commented on GitHub (Oct 11, 2024):
You can access the new Forge embeddings database as:
embedding_db = modules.textual_inversion.textual_inversion.EmbeddingDatabase()refresh:
embedding_db.load_textual_inversion_embeddings(force_reload=True, sync_with_sd_model=False)attributes seem to be as usual, filename contains full path.
@DominikDoom commented on GitHub (Oct 12, 2024):
@DenOfEquity That is from the base webui, and I use that in the code if it is set (by accessing it from the respective model, since I need the existing instance).
But as far as I'm aware, forge does not use this implementation for embeddings anymore.
In its main code, it calls
from backend.text_processing.textual_inversion import EmbeddingDatabase, as @Symbiomatrix already mentioned. And that one has no filename / filepath property.@Symbiomatrix commented on GitHub (Oct 26, 2024):
@DominikDoom Den merged (thanks!), should be good to go using the standard method.