2022-12-20 14:15:17 +00:00
# Kohya's dreambooth and finetuning
2022-10-30 15:15:09 +00:00
2022-12-20 15:07:22 +00:00
This repository now includes the solutions provided by Kohya_ss in a single location. I have combined both solutions under one repository to align with the new official Kohya repository where he will maintain his code from now on: https://github.com/kohya-ss/sd-scripts.
2022-10-30 15:40:55 +00:00
2022-12-20 15:07:22 +00:00
A note accompanying the release of his new repository can be found here: https://note.com/kohya_ss/n/nba4eceaa4594
2022-10-30 17:37:42 +00:00
2023-01-06 23:38:24 +00:00
## Required Dependencies
Python 3.10.6+ and Git:
- Python 3.10.6+: https://www.python.org/ftp/python/3.10.6/python-3.10.6-amd64.exe
- git: https://git-scm.com/download/win
Give unrestricted script access to powershell so venv can work:
- Open an administrator powershell window
- Type `Set-ExecutionPolicy Unrestricted` and answer A
- Close admin powershell window
2023-01-06 23:33:07 +00:00
## Installation
Open a regular Powershell terminal and type the following inside:
```powershell
git clone https://github.com/bmaltais/kohya_ss.git
cd kohya_ss
python -m venv --system-site-packages venv
.\venv\Scripts\activate
pip install torch==1.12.1+cu116 torchvision==0.13.1+cu116 --extra-index-url https://download.pytorch.org/whl/cu116
pip install --upgrade -r requirements.txt
pip install -U -I --no-deps https://github.com/C43H66N12O12S2/stable-diffusion-webui/releases/download/f/xformers-0.0.14.dev0-cp310-cp310-win_amd64.whl
cp .\bitsandbytes_windows\*.dll .\venv\Lib\site-packages\bitsandbytes\
cp .\bitsandbytes_windows\cextension.py .\venv\Lib\site-packages\bitsandbytes\cextension.py
cp .\bitsandbytes_windows\main.py .\venv\Lib\site-packages\bitsandbytes\cuda_setup\main.py
accelerate config
```
### Optional: CUDNN 8.6
This step is optional but can improve the learning speed for NVidia 4090 owners...
Due to the filesize I can't host the DLLs needed for CUDNN 8.6 on Github, I strongly advise you download them for a speed boost in sample generation (almost 50% on 4090) you can download them from here: https://b1.thefileditch.ch/mwxKTEtelILoIbMbruuM.zip
To install simply unzip the directory and place the cudnn_windows folder in the root of the kohya_diffusers_fine_tuning repo.
Run the following command to install:
```
2023-01-09 12:47:07 +00:00
.\venv\Scripts\activate
2023-01-06 23:33:07 +00:00
python .\tools\cudann_1.8_install.py
```
## Upgrade
When a new release comes out you can upgrade your repo with the following command:
```powershell
cd kohya_ss
git pull
.\venv\Scripts\activate
pip install --upgrade -r requirements.txt
```
Once the commands have completed successfully you should be ready to use the new version.
## Launching the GUI
To run the GUI you simply use this command:
```
2023-01-09 12:47:07 +00:00
gui.ps1
2023-01-06 23:33:07 +00:00
```
2022-12-20 14:15:17 +00:00
## Dreambooth
2022-10-30 17:39:00 +00:00
2023-01-09 12:47:07 +00:00
You can find the dreambooth solution spercific [Dreambooth README ](train_db_README.md )
2022-10-30 17:37:42 +00:00
2022-12-20 14:15:17 +00:00
## Finetune
2022-11-01 11:46:55 +00:00
2023-01-09 12:47:07 +00:00
You can find the finetune solution spercific [Finetune README ](fine_tune_README.md )
2022-12-21 14:05:06 +00:00
2023-01-09 12:47:07 +00:00
## Train Network
2023-01-01 19:14:58 +00:00
2023-01-09 12:47:07 +00:00
You can find the train network solution spercific [Train network README ](train_network_README.md )
2023-01-01 19:14:58 +00:00
2023-01-09 12:47:07 +00:00
## LoRA
2023-01-01 19:14:58 +00:00
2023-01-09 12:47:07 +00:00
Training a LoRA currently use the `train_network.py` python code. You can create LoRA network by using the all-in-one `gui.cmd` or by running the dedicated LoRA training GUI with:
2023-01-01 19:14:58 +00:00
```
2023-01-09 12:47:07 +00:00
.\venv\Scripts\activate
python lora_gui.py
2023-01-01 19:14:58 +00:00
```
Once you have created the LoRA network you can generate images via auto1111 by installing the extension found here: https://github.com/kohya-ss/sd-webui-additional-networks
2022-12-21 14:05:06 +00:00
## Change history
2023-01-09 22:59:11 +00:00
* 2023/01/10 (v20.1.1):
- Fix issue with LoRA config loading
2023-01-09 16:48:57 +00:00
* 2023/01/10 (v20.1):
- Add support for `--output_name` to trainers
- Refactor code for easier maintenance
2023-01-09 12:47:07 +00:00
* 2023/01/10 (v20.0):
- Update code base to match latest kohys_ss code upgrade in https://github.com/kohya-ss/sd-scripts
2023-01-09 01:55:41 +00:00
* 2023/01/09 (v19.4.3):
- Add vae support to dreambooth GUI
- Add gradient_checkpointing, gradient_accumulation_steps, mem_eff_attn, shuffle_caption to finetune GUI
- Add gradient_accumulation_steps, mem_eff_attn to dreambooth lora gui
2023-01-09 00:31:44 +00:00
* 2023/01/08 (v19.4.2):
- Add find/replace option to Basic Caption utility
- Add resume training and save_state option to finetune UI
2023-01-07 04:19:49 +00:00
* 2023/01/06 (v19.4.1):
- Emergency fix for new version of gradio causing issues with drop down menus. Please run `pip install -U -r requirements.txt` to fix the issue after pulling this repo.
2023-01-06 23:25:55 +00:00
* 2023/01/06 (v19.4):
- Add new Utility to Extract a LoRA from a finetuned model
2023-01-06 12:13:12 +00:00
* 2023/01/06 (v19.3.1):
- Emergency fix for dreambooth_ui no longer working, sorry
- Add LoRA network merge too GUI. Run `pip install -U -r requirements.txt` after pulling this new release.
* 2023/01/05 (v19.3):
2023-01-06 00:16:13 +00:00
- Add support for `--clip_skip` option
- Add missing `detect_face_rotate.py` to tools folder
- Add `gui.cmd` for easy start of GUI
2023-01-02 18:07:17 +00:00
* 2023/01/02 (v19.2) update:
- Finetune, add xformers, 8bit adam, min bucket, max bucket, batch size and flip augmentation support for dataset preparation
- Finetune, add "Dataset preparation" tab to group task specific options
2023-01-02 03:43:44 +00:00
* 2023/01/01 (v19.2) update:
- add support for color and flip augmentation to "Dreambooth LoRA"
2023-01-01 19:14:58 +00:00
* 2023/01/01 (v19.1) update:
- merge kohys_ss upstream code updates
- rework Dreambooth LoRA GUI
- fix bug where LoRA network weights were not loaded to properly resume training
* 2022/12/30 (v19) update:
2022-12-31 01:50:01 +00:00
- support for LoRA network training in kohya_gui.py.
2023-01-01 19:14:58 +00:00
* 2022/12/23 (v18.8) update:
2022-12-23 12:56:35 +00:00
- Fix for conversion tool issue when the source was an sd1.x diffuser model
- Other minor code and GUI fix
2023-01-01 19:14:58 +00:00
* 2022/12/22 (v18.7) update:
2022-12-22 18:19:28 +00:00
- Merge dreambooth and finetune is a common GUI
- General bug fixes and code improvements
2023-01-01 19:14:58 +00:00
* 2022/12/21 (v18.6.1) update:
2022-12-21 16:02:49 +00:00
- fix issue with dataset balancing when the number of detected images in the folder is 0
2023-01-01 19:14:58 +00:00
* 2022/12/21 (v18.6) update:
2022-12-21 14:05:06 +00:00
- add optional GUI authentication support via: `python fine_tune.py --username=<name> --password=<password>`