A user-friendly LoRA training system powered by Kohya's proven training backend and interactive Jupyter widgets. Features unified model detection and streamlined workflows for VastAI, RunPod, and local environments.
Python Version | License | Discord | Twitch | Support |
---|---|---|---|---|
- What is this project? A user-friendly LoRA training system based on KohyaSS, powered by interactive Jupyter widgets. Instead of typing lengthy Python commands, you get helpful widgets that walk you through each step. Works on your own local computer or rented GPU servers.
- Why use it?
- ๐ Beginner-friendly: Helpful explanations and step-by-step guidance.
- ๐งฎ Training calculator: Shows roughly how long training could take.
- ๐ ๏ธ Easy setup: Works with VastAI, RunPod, and local computers.
- ๐ Dataset tools: Auto-tag images, upload files, manage captions.
- ๐ Multiple architectures: SDXL, SD 1.5 (production-ready), plus experimental Flux & SD3 support with various optimizers and LoRA types.
What You Need
- GPU: Nvidia (For built-in CUDA support) or AMD Cards for ROCm. (Future Support for ARC and otherwise coming)
- Python: Version 3.10+ (3.10.6 recommended for maximum compatibility)
- Platform: Windows or Linux based Operating Systems.
Our trainer directly handles the task of installing major requirements depending on your environment.
- Note for Cloud Users: If you are on platforms like Vast.AI or RunPod, Jupyter is often launched automatically after your instance starts. You can usually proceed directly to the "Usage Guide" once your environment is ready.
๐ Installation Prerequisites
You will need Git and Python 3.10+.
Check your Python version first:
python --version
# Need: Python 3.10+ (3.10.6 recommended for maximum compatibility)
You can install Python 3.10.6 directly from Python's main website here.
Quick Git Check:
git --version # If this fails, install Git first
Install Git if needed:
- Windows: Download from git-scm.com
- Mac:
xcode-select --install
in Terminal - Linux:
sudo apt install git
(Ubuntu/Debian)
Main Installation Steps:
# 1. Clone the repository
git clone https://github.com/Ktiseos-Nyx/Lora_Easy_Training_Jupyter.git
cd Lora_Easy_Training_Jupyter
# 1a. If you're running the Unified Branch (For Testing) Please continue with the following commands:
git branch
git checkout unified
git fetch origin unified
# 2. Run the installer (downloads ~10-15GB)
python ./installer.py
# Alternative for Mac/Linux:
chmod +x ./jupyter.sh && ./jupyter.sh
(If Jupyter is NOT running)
jupyter notebook
# Or: jupyter lab
Your main workflow:
Dataset_Maker_Widget.ipynb
- Prepare images and captionsUnified_LoRA_Trainer.ipynb
- Train SDXL, SD 1.5, or experimental Flux/SD3 modelsUtilities_Notebooks.ipynb
- Calculate optimal training parameters, Resize Lora & More.
๐ Data Ingestion Options
Options for getting data into the system:
- URL/ZIP Download: Download and extract datasets from URLs (e.g., Hugging Face, Civitai) or local ZIP files.
- Direct Image Upload: Upload individual images directly into your dataset folder.
- Gallery-DL Scraper: Utilize the advanced
gallery-dl
integration to scrape images and their tags from over 300 supported websites.
How to Get Model/VAE Links
To use custom models or VAEs, you need to provide a direct download link. Hereโs how to find them on popular platforms:
Method 1: Using the Model Version ID
- Navigate to the model or VAE page.
- Look at the URL in your browser's address bar. If it includes
?modelVersionId=XXXXXX
, you can copy the entire URL and paste it directly into the widget. - If you don't see this ID, try switching to a different version of the model and then back to your desired version. The ID should then appear in the URL.
Method 2: Copying the Download Link Use this method if the model has only one version or if a version has multiple files.
- On the model or VAE page, scroll down to the "Files" section.
- Right-click the Download button for the file you want.
- Select "Copy Link Address" (or similar text) from the context menu.
Method 1: Using the Repository URL
- Go to the main page of the model or VAE repository you want to use.
- Copy the URL directly from your browser's address bar.
Method 2: Copying the Direct File Link
- Navigate to the "Files and versions" tab of the repository.
- Find the specific file you want to download.
- Click the "..." menu to the right of the file size, then right-click the "Download" link and copy the link address.
๐ ๏ธ Advanced Features
- Image Resizing: Easily resize images in your dataset to a target resolution, with options for quality.
- FiftyOne Integration: Visually inspect and edit image tags using the FiftyOne interface. After making changes in FiftyOne, click 'Apply Curation Changes' to save them to your local caption files.
๐๏ธ New Unified Architecture
Our system now features:
- Automatic Model Detection: Unified trainer automatically detects SDXL vs SD 1.5 models
- Kohya Backend Integration: Leverages battle-tested Kohya training strategies
- Environment-Agnostic: Works across conda, venv, and system Python installations
- Memory Optimization: Automatic VRAM detection and profile selection
- Cross-Platform: Proper subprocess handling for Windows/Linux/macOS development
Known Issues & Compatibility:
โ ๏ธ Triton/ONNX Compatibility Warnings: Docker/VastAI users may encounter issues with AdamW8bit optimizer.โ ๏ธ NO SUPPORT FOR LOCAL MACINTOSH ARM/M1-M4 MACHINES- ๐ FileUpload Widget Issues: In some container environments, the file upload widget may not respond to file selection. Workaround: Use the manual upload buttons or direct file copying to dataset directories.
- ๐ง CAME Optimizer Path Issues: Due to container environment differences, you may need to manually edit the generated TOML config file. If training fails with "module 'LoraEasyCustomOptimizer' has no attribute 'CAME'", change
optimizer_type = "LoraEasyCustomOptimizer.CAME"
tooptimizer_type = "LoraEasyCustomOptimizer.came.CAME"
in your training config files.
Getting Help: - If you encounter issues or have questions, please: - Check our GitHub Issues or Discussions. - Join our Discord Server for community support. - We maintain a running tab of common issues and solutions in our docs/ folder.
- Built on the Shoulders of Giants This project builds upon and integrates the excellent work of:
- Jelosus2's LoRA Easy Training Colab - Original Colab notebook that inspired this adaptation
- Derrian-Distro's LoRA Easy Training Backend - Core training backend and scripts as well as the forked Lycoris Repository and CAME/REX optimization strategies.
- HoloStrawberry's Training Methods - Community wisdom and proven training techniques as well as foundational Google Colab notebooks.
- Kohya-ss SD Scripts - Foundational training scripts and infrastructure
- Linaqruf - Pioneer in accessible LoRA training, creator of influential Colab notebooks and training methods that inspired much of this work
- AndroidXXL, Jelosus2 - Additional Colab notebook contributions that made LoRA training accessible
- ArcEnCiel - Ongoing support and testing as well as Open Source AI Generative Models.
- Civitai - Platform for Open Source AI Content
- LyCORIS Team - Advanced LoRA methods (DoRA, LoKr, etc.)
Special thanks to these creators for making LoRA training accessible to everyone!
Found a security issue? Check our Security Policy for responsible disclosure guidelines.
MIT License - Feel free to use, modify, and distribute. See LICENSE for details.
We welcome contributions! Check out our Contributing Guide for details on how to get involved. Feel free to open issues or submit pull requests on GitHub.
Made with โค๏ธ by the community, for the community.