From d3c1b747ee1632c6fab81ba9f89314e9fbdd55e4 Mon Sep 17 00:00:00 2001 From: Jonathan <34005131+JPPhoto@users.noreply.github.com> Date: Sun, 19 Feb 2023 08:04:59 -0600 Subject: [PATCH] Fix behavior when encountering a bad embedding (#2721) When encountering a bad embedding, InvokeAI was asking about reconfiguring models. This is because the embedding load error was never handled - it now is. --- ldm/modules/textual_inversion_manager.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/ldm/modules/textual_inversion_manager.py b/ldm/modules/textual_inversion_manager.py index b154a95f27..69f8282983 100644 --- a/ldm/modules/textual_inversion_manager.py +++ b/ldm/modules/textual_inversion_manager.py @@ -79,7 +79,10 @@ class TextualInversionManager: embedding_info = self._parse_embedding(str(ckpt_path)) - if ( + if embedding_info is None: + # We've already put out an error message about the bad embedding in _parse_embedding, so just return. + return + elif ( self.text_encoder.get_input_embeddings().weight.data[0].shape[0] != embedding_info["embedding"].shape[0] ): @@ -287,6 +290,7 @@ class TextualInversionManager: return self._parse_embedding_bin(embedding_file) else: print(f">> Not a recognized embedding file: {embedding_file}") + return None def _parse_embedding_pt(self, embedding_file): embedding_ckpt = torch.load(embedding_file, map_location="cpu")