app.py: check the known save path directly instead of parsing stdout (broken after PR #21 removed the print statement). card_generator_adapter.py: two mismatches with the training notebook: 1. LoRA loading used pipe.load_lora_weights() (diffusers format) but the adapter was saved with PEFT's save_pretrained() — keys didn't match. Now uses PeftModel.from_pretrained() + merge_and_unload(). 2. Conditioning built a natural language prompt, but the LoRA was trained on json.dumps(meta). Now uses JSON serialization to match.
2.7 KiB
2.7 KiB