Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions modules/trainer/GenericTrainer.py
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,8 @@ def start(self):
model_names.embedding.model_name = last_backup_path
else: # fine-tunes
model_names.base_model = last_backup_path
# drop submodule overrides so the backup is loaded in full
model_names.clear_overrides()

print(f"Continuing training from backup '{last_backup_path}'...")
else:
Expand Down
11 changes: 11 additions & 0 deletions modules/util/ModelNames.py
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,17 @@ def __init__(
self.include_text_encoder_3 = include_text_encoder_3
self.include_text_encoder_4 = include_text_encoder_4

# reset all base-model submodule overrides. used when continuing a
# fine-tune from a backup: the backup is a complete internal model, so
# overrides must not shadow it
def clear_overrides(self):
self.prior_model = ""
self.transformer_model = ""
self.effnet_encoder_model = ""
self.decoder_model = ""
self.text_encoder_4 = ""
self.vae_model = ""

def all_embedding(self):
if self.embedding is not None:
return self.additional_embeddings + [self.embedding]
Expand Down