Nerogar / OneTrainer

OneTrainer is a one-stop solution for all your stable diffusion training needs.
GNU Affero General Public License v3.0
1.8k stars 152 forks source link
fine-tuning lora stable-diffusion training

OneTrainer

OneTrainer is a one-stop solution for all your stable diffusion training needs.

OneTrainer Discord
Hardware for development sponsored by https://shakker.ai

Features

OneTrainerGUI.gif

Installation

Installing OneTrainer requires Python >=3.10 and <3.13. You can download Python here https://www.python.org/downloads/windows/. Then follow these steps:

Automatic installation

Manual installation

In some linux distribution, you might need to install libGL, for instance on ubuntu you will need to run:

sudo apt-get update
sudo apt-get install libgl1

Updating

Automatic update

Manual update

Usage

To start the UI, run start-ui.bat. You can find a quick start guide here., and a more detailed overview of different topics here.

If you need more control, OneTrainer supports two modes of operation. Command line only, and a UI. All commands need to be run inside the active venv created during installation.

All functionality is split into different scrips located in the scripts directory. This currently includes:

To learn more about the different parameters, execute <script-name> -h. For example python scripts\train.py -h

If you are on Mac or Linux, read the launch script documentation for detailed information about how to run OneTrainer and its various scripts on your system.

Contributing

Contributions are always welcome in any form. You can open issues, participate in discussions, or even open pull requests for new or improved functionality. You can find more information here.

Before you start looking at the code, I recommend reading about the project structure here. For in depth discussions, you should consider joining the Discord server.

You also NEED to install the required developer dependencies for your current user and enable the Git commit hooks, via the following commands (works on all platforms; Windows, Linux and Mac):

pip install -r requirements-dev.txt
pre-commit install

(Be sure to run those commands without activating your venv or Conda environment, since pre-commit is supposed to be installed outside any environment.)

Now all of your commits will automatically be verified for common errors and code style issues, so that code reviewers can focus on the architecture of your changes without wasting time on style/formatting issues, thus greatly improving the chances that your pull request will be accepted quickly and effortlessly.

Related Projects