diff options
author | AUTOMATIC <16777216c@gmail.com> | 2022-10-02 12:03:39 +0000 |
---|---|---|
committer | AUTOMATIC <16777216c@gmail.com> | 2022-10-02 12:03:39 +0000 |
commit | 820f1dc96b1979d7e92170c161db281ee8bd988b (patch) | |
tree | c2b04366563537cddc4cdb2e65a94da2a8d90fc8 /modules/textual_inversion/ui.py | |
parent | 84e97a98c5233119d0f444e0a3a0f6391da23677 (diff) | |
download | stable-diffusion-webui-gfx803-820f1dc96b1979d7e92170c161db281ee8bd988b.tar.gz stable-diffusion-webui-gfx803-820f1dc96b1979d7e92170c161db281ee8bd988b.tar.bz2 stable-diffusion-webui-gfx803-820f1dc96b1979d7e92170c161db281ee8bd988b.zip |
initial support for training textual inversion
Diffstat (limited to 'modules/textual_inversion/ui.py')
-rw-r--r-- | modules/textual_inversion/ui.py | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/modules/textual_inversion/ui.py b/modules/textual_inversion/ui.py new file mode 100644 index 00000000..ce3677a9 --- /dev/null +++ b/modules/textual_inversion/ui.py @@ -0,0 +1,32 @@ +import html
+
+import gradio as gr
+
+import modules.textual_inversion.textual_inversion as ti
+from modules import sd_hijack, shared
+
+
+def create_embedding(name, nvpt):
+ filename = ti.create_embedding(name, nvpt)
+
+ sd_hijack.model_hijack.embedding_db.load_textual_inversion_embeddings()
+
+ return gr.Dropdown.update(choices=sorted(sd_hijack.model_hijack.embedding_db.word_embeddings.keys())), f"Created: {filename}", ""
+
+
+def train_embedding(*args):
+
+ try:
+ sd_hijack.undo_optimizations()
+
+ embedding, filename = ti.train_embedding(*args)
+
+ res = f"""
+Training {'interrupted' if shared.state.interrupted else 'finished'} after {embedding.step} steps.
+Embedding saved to {html.escape(filename)}
+"""
+ return res, ""
+ except Exception:
+ raise
+ finally:
+ sd_hijack.apply_optimizations()
|