A library for training custom Stable Diffusion models (fine-tuning, LoRA training, textual inversion, etc.) that can be used in InvokeAI.
Warning
invoke-training
is still under active development, and breaking changes are likely. Full backwards compatibility will not be guaranteed until v1.0.0.
In the meantime, I recommend pinning to a specific commit hash.
https://invoke-ai.github.io/invoke-training/
- Stable Diffusion
- LoRA
- DreamBooth LoRA
- Textual Inversion
- Stable Diffusion XL
- Full finetuning
- LoRA
- DreamBooth LoRA
- Textual Inversion
- LoRA and Textual Inversion
More training modes coming soon!
For more installation details, see the Installation section of the documentation.
# A recent version of pip is required, so first upgrade pip:
python -m pip install --upgrade pip
# Editable install:
pip install -e ".[test]" --extra-index-url https://download.pytorch.org/whl/cu121
invoke-training
pipelines can be configured and launched from either the CLI or the GUI.
Run training via the CLI with type-checked YAML configuration files for maximum control:
invoke-train --cfg-file src/invoke_training/sample_configs/sdxl_textual_inversion_gnome_1x24gb.yaml
Run training via the GUI for a simpler starting point.
invoke-train-ui
# Or, you can optionally override the default host and port:
invoke-train-ui --host 0.0.0.0 --port 1234
Training progress can be monitored with Tensorboard: Validation images in the Tensorboard UI.
All trained models are compatible with InvokeAI:
Example image generated with the prompt "A cute yoda pokemon creature." and a trained Pokemon LoRA.
Contributors are welcome. For developer guidance, see the Contributing section of the documentation.