fix: increment adapter_final filename on resume to avoid overwriting previous final

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-04-06 00:15:31 +02:00
parent 2b2b438307
commit 8ae0ba3c7d
2 changed files with 12 additions and 0 deletions
+6
View File
@@ -540,7 +540,13 @@ class SelvaLoraTrainer:
pbar_train.update(1) pbar_train.update(1)
# Save inference adapter (state_dict + meta only — SelvaLoraLoader compatible) # Save inference adapter (state_dict + meta only — SelvaLoraLoader compatible)
# Increment filename if a previous final already exists (resume case)
final_path = output_dir / "adapter_final.pt" final_path = output_dir / "adapter_final.pt"
if final_path.exists():
i = 1
while (output_dir / f"adapter_final_{i:03d}.pt").exists():
i += 1
final_path = output_dir / f"adapter_final_{i:03d}.pt"
torch.save({"state_dict": get_lora_state_dict(generator), "meta": meta}, final_path) torch.save({"state_dict": get_lora_state_dict(generator), "meta": meta}, final_path)
(output_dir / "meta.json").write_text(json.dumps(meta, indent=2)) (output_dir / "meta.json").write_text(json.dumps(meta, indent=2))
print(f"\n[LoRA Trainer] Done. Adapter saved to {final_path}", flush=True) print(f"\n[LoRA Trainer] Done. Adapter saved to {final_path}", flush=True)
+6
View File
@@ -382,7 +382,13 @@ def main():
print(f"[LoRA] Saved {ckpt_path}") print(f"[LoRA] Saved {ckpt_path}")
# Save final adapter with embedded metadata # Save final adapter with embedded metadata
# Increment filename if a previous final already exists (resume case)
final = output_dir / "adapter_final.pt" final = output_dir / "adapter_final.pt"
if final.exists():
i = 1
while (output_dir / f"adapter_final_{i:03d}.pt").exists():
i += 1
final = output_dir / f"adapter_final_{i:03d}.pt"
meta = { meta = {
"variant": args.variant, "variant": args.variant,
"rank": args.rank, "rank": args.rank,