https://github.com/kohya-ss/sd-scripts
https://github.com/kohya-ss/sd-scripts
Last synced: 28 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/kohya-ss/sd-scripts
- Owner: kohya-ss
- License: apache-2.0
- Created: 2022-12-18T04:32:15.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2025-05-11T12:32:35.000Z (10 months ago)
- Last Synced: 2025-05-13T00:09:09.350Z (10 months ago)
- Language: Python
- Size: 11.3 MB
- Stars: 6,139
- Watchers: 56
- Forks: 1,006
- Open Issues: 827
-
Metadata Files:
- Readme: README-ja.md
- License: LICENSE.md
Awesome Lists containing this project
- awesome-stable-diffusion - sd-scripts
- awesome-ccamel - kohya-ss/sd-scripts - (Python)
- StarryDivineSky - kohya-ss/sd-scripts - scripts 是一个用于 Stable Diffusion 模型训练和微调的强大脚本集合,由 kohya-ss 开发。它支持多种训练方法,包括 LoRA、Dreambooth 和 full fine-tuning,并针对不同硬件进行了优化,尤其是在消费级显卡上。该项目特色在于其高效的内存管理和对各种数据集格式的支持。sd-scripts 采用模块化设计,方便用户根据自身需求定制训练流程。它支持多种优化器和学习率调度器,并提供了丰富的命令行参数用于灵活配置。该项目还包含用于模型转换、评估和推理的实用工具。主要工作原理是通过对预训练的 Stable Diffusion 模型进行微调,使其能够生成特定风格或主题的图像。它还支持使用 LoRA 技术,通过训练少量参数来快速定制模型,而无需修改原始模型。sd-scripts 旨在为用户提供一个全面且易于使用的平台,以探索 Stable Diffusion 的强大功能。该项目持续更新,并积极响应社区反馈。 (图像生成 / 资源传输下载)
- awesome - kohya-ss/sd-scripts - (Python)
README
# sd-scripts
[English](./README.md) / [日本語](./README-ja.md)
## 目次
クリックすると展開します
- [はじめに](#はじめに)
- [スポンサー](#スポンサー)
- [スポンサー募集のお知らせ](#スポンサー募集のお知らせ)
- [更新履歴](#更新履歴)
- [サポートモデル](#サポートモデル)
- [機能](#機能)
- [ドキュメント](#ドキュメント)
- [学習ドキュメント(英語および日本語)](#学習ドキュメント英語および日本語)
- [その他のドキュメント](#その他のドキュメント)
- [旧ドキュメント(日本語)](#旧ドキュメント日本語)
- [AIコーディングエージェントを使う開発者の方へ](#aiコーディングエージェントを使う開発者の方へ)
- [Windows環境でのインストール](#windows環境でのインストール)
- [Windowsでの動作に必要なプログラム](#windowsでの動作に必要なプログラム)
- [インストール手順](#インストール手順)
- [requirements.txtとPyTorchについて](#requirementstxtとpytorchについて)
- [xformersのインストール(オプション)](#xformersのインストールオプション)
- [Linux/WSL2環境でのインストール](#linuxwsl2環境でのインストール)
- [DeepSpeedのインストール(実験的、LinuxまたはWSL2のみ)](#deepspeedのインストール実験的linuxまたはwsl2のみ)
- [アップグレード](#アップグレード)
- [PyTorchのアップグレード](#pytorchのアップグレード)
- [謝意](#謝意)
- [ライセンス](#ライセンス)
## はじめに
Stable Diffusion等の画像生成モデルの学習、モデルによる画像生成、その他のスクリプトを入れたリポジトリです。
### スポンサー
このプロジェクトを支援してくださる企業・団体の皆様に深く感謝いたします。
### スポンサー募集のお知らせ
このプロジェクトがお役に立ったなら、ご支援いただけると嬉しく思います。 [GitHub Sponsors](https://github.com/sponsors/kohya-ss/)で受け付けています。
### 更新履歴
- **Version 0.10.1 (2026-02-13):**
- [Anima Preview](https://huggingface.co/circlestone-labs/Anima)モデルのLoRA学習およびfine-tuningをサポートしました。[PR #2260](https://github.com/kohya-ss/sd-scripts/pull/2260) および[PR #2261](https://github.com/kohya-ss/sd-scripts/pull/2261)
- 素晴らしいモデルを公開された CircleStone Labs、および PR #2260を提出していただいたduongve13112002氏に深く感謝します。
- 詳細は[ドキュメント](./docs/anima_train_network.md)をご覧ください。
- **Version 0.10.0 (2026-01-19):**
- `sd3`ブランチを`main`ブランチにマージしました。このバージョンからFLUX.1およびSD3/SD3.5等のモデルが`main`ブランチでサポートされます。
- ドキュメントにはまだ不備があるため、お気づきの点はIssue等でお知らせください。
- `sd3`ブランチは当面、`dev`ブランチと同期して開発ブランチとして維持します。
### サポートモデル
* **Stable Diffusion 1.x/2.x**
* **SDXL**
* **SD3/SD3.5**
* **FLUX.1**
* **LUMINA**
* **HunyuanImage-2.1**
### 機能
* LoRA学習
* fine-tuning(DreamBooth):HunyuanImage-2.1以外のモデル
* Textual Inversion学習:SD/SDXL
* 画像生成
* その他、モデル変換やタグ付け、LoRAマージなどのユーティリティ
## ドキュメント
### 学習ドキュメント(英語および日本語)
日本語は折りたたまれているか、別のドキュメントにあります。
* [LoRA学習の概要](./docs/train_network.md)
* [データセット設定](./docs/config_README-ja.md) / [英語版](./docs/config_README-en.md)
* [高度な学習オプション](./docs/train_network_advanced.md)
* [SDXL学習](./docs/sdxl_train_network.md)
* [SD3学習](./docs/sd3_train_network.md)
* [FLUX.1学習](./docs/flux_train_network.md)
* [LUMINA学習](./docs/lumina_train_network.md)
* [HunyuanImage-2.1学習](./docs/hunyuan_image_train_network.md)
* [Fine-tuning](./docs/fine_tune.md)
* [Textual Inversion学習](./docs/train_textual_inversion.md)
* [ControlNet-LLLite学習](./docs/train_lllite_README-ja.md) / [英語版](./docs/train_lllite_README.md)
* [Validation](./docs/validation.md)
* [マスク損失学習](./docs/masked_loss_README-ja.md) / [英語版](./docs/masked_loss_README.md)
### その他のドキュメント
* [画像生成スクリプト](./docs/gen_img_README-ja.md) / [英語版](./docs/gen_img_README.md)
* [WD14 Taggerによる画像タグ付け](./docs/wd14_tagger_README-ja.md) / [英語版](./docs/wd14_tagger_README-en.md)
### 旧ドキュメント(日本語)
* [学習について、共通編](./docs/train_README-ja.md) : データ整備やオプションなど
* [DreamBoothの学習について](./docs/train_db_README-ja.md)
## AIコーディングエージェントを使う開発者の方へ
This repository provides recommended instructions to help AI agents like Claude and Gemini understand our project context and coding standards.
To use them, you need to opt-in by creating your own configuration file in the project root.
**Quick Setup:**
1. Create a `CLAUDE.md` and/or `GEMINI.md` file in the project root.
2. Add the following line to your `CLAUDE.md` to import the repository's recommended prompt:
```markdown
@./.ai/claude.prompt.md
```
or for Gemini:
```markdown
@./.ai/gemini.prompt.md
```
3. You can now add your own personal instructions below the import line (e.g., `Always respond in Japanese.`).
This approach ensures that you have full control over the instructions given to your agent while benefiting from the shared project context. Your `CLAUDE.md` and `GEMINI.md` are already listed in `.gitignore`, so they won't be committed to the repository.
このリポジトリでは、AIコーディングエージェント(例:Claude、Geminiなど)がプロジェクトのコンテキストやコーディング標準を理解できるようにするための推奨プロンプトを提供しています。
それらを使用するには、プロジェクトディレクトリに設定ファイルを作成して明示的に有効にする必要があります。
**簡単なセットアップ手順:**
1. プロジェクトルートに `CLAUDE.md` や `GEMINI.md` ファイルを作成します。
2. `CLAUDE.md` に以下の行を追加して、リポジトリの推奨プロンプトをインポートします。
```markdown
@./.ai/claude.prompt.md
```
またはGeminiの場合:
```markdown
@./.ai/gemini.prompt.md
```
3. インポート行の下に、独自の指示を追加できます(例:`常に日本語で応答してください。`)。
この方法により、エージェントに与える指示を各開発者が管理しつつ、リポジトリの推奨コンテキストを活用できます。`CLAUDE.md` および `GEMINI.md` は `.gitignore` に登録されているため、リポジトリにコミットされることはありません。
## Windows環境でのインストール
### Windowsでの動作に必要なプログラム
Python 3.10.xおよびGitが必要です。
- Python 3.10.x: https://www.python.org/downloads/windows/ からWindows installer (64-bit)をダウンロード
- git: https://git-scm.com/download/win から最新版をダウンロード
Python 3.11.x、3.12.xでも恐らく動作します(未テスト)。
PowerShellを使う場合、venvを使えるようにするためには以下の手順でセキュリティ設定を変更してください。
(venvに限らずスクリプトの実行が可能になりますので注意してください。)
- PowerShellを管理者として開きます。
- 「Set-ExecutionPolicy Unrestricted」と入力し、Yと答えます。
- 管理者のPowerShellを閉じます。
### インストール手順
PowerShellを使う場合、通常の(管理者ではない)PowerShellを開き以下を順に実行します。
```powershell
git clone https://github.com/kohya-ss/sd-scripts.git
cd sd-scripts
python -m venv venv
.\venv\Scripts\activate
pip install torch==2.6.0 torchvision==0.21.0 --index-url https://download.pytorch.org/whl/cu124
pip install --upgrade -r requirements.txt
accelerate config
```
コマンドプロンプトでも同一です。
(なお、python -m venv~の行で「python」とだけ表示された場合、py -m venv~のようにpythonをpyに変更してください。)
注:`bitsandbytes`、`prodigyopt`、`lion-pytorch` は `requirements.txt` に含まれています。
この例ではCUDA 12.4版をインストールします。異なるバージョンのCUDAを使用する場合は、適切なバージョンのPyTorchをインストールしてください。たとえばCUDA 12.1版の場合は `pip install torch==2.6.0 torchvision==0.21.0 --index-url https://download.pytorch.org/whl/cu121` としてください。
accelerate configの質問には以下のように答えてください。(bf16で学習する場合、最後の質問にはbf16と答えてください。)
```txt
- This machine
- No distributed training
- NO
- NO
- NO
- all
- fp16
```
※場合によって ``ValueError: fp16 mixed precision requires a GPU`` というエラーが出ることがあるようです。この場合、6番目の質問(
``What GPU(s) (by id) should be used for training on this machine as a comma-separated list? [all]:``)に「0」と答えてください。(id `0`のGPUが使われます。)
### requirements.txtとPyTorchについて
PyTorchは環境によってバージョンが異なるため、requirements.txtには含まれていません。前述のインストール手順を参考に、環境に合わせてPyTorchをインストールしてください。
スクリプトはPyTorch 2.6.0でテストしています。PyTorch 2.6.0以降が必要です。
RTX 50シリーズGPUの場合、PyTorch 2.8.0とCUDA 12.8/12.9を使用してください。`requirements.txt`はこのバージョンでも動作します。
### xformersのインストール(オプション)
xformersをインストールするには、仮想環境を有効にした状態で以下のコマンドを実行してください。
```bash
pip install xformers --index-url https://download.pytorch.org/whl/cu124
```
必要に応じてCUDAバージョンを変更してください。一部のGPUアーキテクチャではxformersが利用できない場合があります。
## Linux/WSL2環境でのインストール
LinuxまたはWSL2環境でのインストール手順はWindows環境とほぼ同じです。`venv\Scripts\activate` の部分を `source venv/bin/activate` に変更してください。
※NVIDIAドライバやCUDAツールキットなどは事前にインストールしておいてください。
### DeepSpeedのインストール(実験的、LinuxまたはWSL2のみ)
DeepSpeedをインストールするには、仮想環境を有効にした状態で以下のコマンドを実行してください。
```bash
pip install deepspeed==0.16.7
```
## アップグレード
新しいリリースがあった場合、以下のコマンドで更新できます。
```powershell
cd sd-scripts
git pull
.\venv\Scripts\activate
pip install --use-pep517 --upgrade -r requirements.txt
```
コマンドが成功すれば新しいバージョンが使用できます。
### PyTorchのアップグレード
PyTorchをアップグレードする場合は、[Windows環境でのインストール](#windows環境でのインストール)のセクションの`pip install`コマンドを参考にしてください。
## 謝意
LoRAの実装は[cloneofsimo氏のリポジトリ](https://github.com/cloneofsimo/lora)を基にしたものです。感謝申し上げます。
Conv2d 3x3への拡大は [cloneofsimo氏](https://github.com/cloneofsimo/lora) が最初にリリースし、KohakuBlueleaf氏が [LoCon](https://github.com/KohakuBlueleaf/LoCon) でその有効性を明らかにしたものです。KohakuBlueleaf氏に深く感謝します。
## ライセンス
スクリプトのライセンスはASL 2.0ですが(Diffusersおよびcloneofsimo氏のリポジトリ由来のものも同様)、一部他のライセンスのコードを含みます。
[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