kijai / ComfyUI-FluxTrainer

Apache License 2.0
511 stars 27 forks source link

ComfyUI Flux Trainer

DISCLAIMER:

I have very little previous experience in training anything, Flux is basically first model I've been inspired to learn. Previously I've only trained AnimateDiff Motion Loras, and built similar training nodes for it.

DO NOT ASK ME FOR TRAINING ADVICE

I can not emphasize this enough, this repository is not for raising questions related to the training itself, that would be better done to kohya's repo. Even so keep in mind my implementation may have mistakes.

The default settings aren't necessarily any good, they are just the last (out of many) I've tried and worked for my dataset.

THIS IS EXPERIMENTAL

Both these nodes and the underlaying implementation by kohya is work in progress and expected to change.

Installation

  1. Clone this repo into custom_nodes folder.
  2. Install dependencies: pip install -r requirements.txt or if you use the portable install, run this in ComfyUI_windows_portable -folder:

    python_embeded\python.exe -m pip install -r ComfyUI\custom_nodes\ComfyUI-FluxTrainer\requirements.txt

In addition torch version 2.4.0 or higher is highly recommended.

Example workflow for LoRA training can be found in the examples folder, it utilizes additional nodes from:

https://github.com/kijai/ComfyUI-KJNodes

And some (optional) debugging nodes from:

https://github.com/rgthree/rgthree-comfy

For LoRA training the models need to be the normal fp8 or fp16 versions, also make sure the VAE is the non-diffusers version:

https://huggingface.co/black-forest-labs/FLUX.1-dev/blob/main/ae.safetensors

For full model training the fp16 version of the main model needs to be used.

Why train in ComfyUI?

Currently supports LoRA training, and untested full finetune with code from kohya's scripts: https://github.com/kohya-ss/sd-scripts

Screenshot 2024-08-21 020207