mirror of
https://github.com/kohya-ss/sd-scripts.git
synced 2026-04-09 06:45:09 +00:00
124 lines
4.7 KiB
Markdown
124 lines
4.7 KiB
Markdown
This repository contains training, generation and utility scripts for Stable Diffusion.
|
|
|
|
## Updates
|
|
|
|
- 22 Jan. 2023, 2023/1/22
|
|
- Fix script to check LoRA weights ``check_lora_weights.py``. Some layer weights were shown as ``0.0`` even if the layer is trained, because of the overflow of ``torch.mean``. Sorry for the confusion.
|
|
- Noe the script shows the mean of the absolute values of the weights, and the minimum of the absolute values of the weights.
|
|
- LoRAの重みをチェックするスクリプト ``check_lora_weights.py`` を修正しました。一部のレイヤーで学習されているにもかかわらず重みが ``0.0`` と表示されていました。混乱を招き申し訳ありません。
|
|
- スクリプトを「重みの絶対の平均」と「重みの絶対値の最小値」を表示するよう修正しました。
|
|
|
|
Please read [Releases](https://github.com/kohya-ss/sd-scripts/releases) for recent updates.
|
|
最近の更新情報は [Release](https://github.com/kohya-ss/sd-scripts/releases) をご覧ください。
|
|
|
|
##
|
|
|
|
[日本語版README](./README-ja.md)
|
|
|
|
For easier use (GUI and PowerShell scripts etc...), please visit [the repository maintained by bmaltais](https://github.com/bmaltais/kohya_ss). Thanks to @bmaltais!
|
|
|
|
This repository contains the scripts for:
|
|
|
|
* DreamBooth training, including U-Net and Text Encoder
|
|
* fine-tuning (native training), including U-Net and Text Encoder
|
|
* LoRA training
|
|
* image generation
|
|
* model conversion (supports 1.x and 2.x, Stable Diffision ckpt/safetensors and Diffusers)
|
|
|
|
## About requirements.txt
|
|
|
|
These files do not contain requirements for PyTorch. Because the versions of them depend on your environment. Please install PyTorch at first (see installation guide below.)
|
|
|
|
The scripts are tested with PyTorch 1.12.1 and 1.13.0, Diffusers 0.10.2.
|
|
|
|
## Links to how-to-use documents
|
|
|
|
All documents are in Japanese currently, and CUI based.
|
|
|
|
* [DreamBooth training guide](./train_db_README-ja.md)
|
|
* [Step by Step fine-tuning guide](./fine_tune_README_ja.md):
|
|
Including BLIP captioning and tagging by DeepDanbooru or WD14 tagger
|
|
* [training LoRA](./train_network_README-ja.md)
|
|
* note.com [Image generation](https://note.com/kohya_ss/n/n2693183a798e)
|
|
* note.com [Model conversion](https://note.com/kohya_ss/n/n374f316fe4ad)
|
|
|
|
## Windows 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
|
|
|
|
## Windows Installation
|
|
|
|
Open a regular Powershell terminal and type the following inside:
|
|
|
|
```powershell
|
|
git clone https://github.com/kohya-ss/sd-scripts.git
|
|
cd sd-scripts
|
|
|
|
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
|
|
|
|
```
|
|
|
|
Answers to accelerate config:
|
|
|
|
```txt
|
|
- This machine
|
|
- No distributed training
|
|
- NO
|
|
- NO
|
|
- NO
|
|
- all
|
|
- fp16
|
|
```
|
|
|
|
note: Some user reports ``ValueError: fp16 mixed precision requires a GPU`` is occurred in training. In this case, answer `0` for the 6th question:
|
|
``What GPU(s) (by id) should be used for training on this machine as a comma-separated list? [all]:``
|
|
|
|
(Single GPU with id `0` will be used.)
|
|
|
|
## Upgrade
|
|
|
|
When a new release comes out you can upgrade your repo with the following command:
|
|
|
|
```powershell
|
|
cd sd-scripts
|
|
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.
|
|
|
|
## Credits
|
|
|
|
The implementation for LoRA is based on [cloneofsimo's repo](https://github.com/cloneofsimo/lora). Thank you for great work!!!
|
|
|
|
## License
|
|
|
|
The majority of scripts is licensed under ASL 2.0 (including codes from Diffusers, cloneofsimo's), however portions of the project are available under separate license terms:
|
|
|
|
[Memory Efficient Attention Pytorch](https://github.com/lucidrains/memory-efficient-attention-pytorch): MIT
|
|
|
|
[bitsandbytes](https://github.com/TimDettmers/bitsandbytes): MIT
|
|
|
|
[BLIP](https://github.com/salesforce/BLIP): BSD-3-Clause
|