Skip to content

Commit 419a9c4

Browse files
authored
Merge pull request #2192 from kohya-ss/doc-update-for-latest-features
Doc update for latest features
2 parents f833772 + ee8e670 commit 419a9c4

11 files changed

+1341
-790
lines changed

README.md

Lines changed: 15 additions & 735 deletions
Large diffs are not rendered by default.

docs/config_README-en.md

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,6 @@
1-
Original Source by kohya-ss
1+
First version: A.I Translation by Model: NousResearch/Nous-Hermes-2-Mixtral-8x7B-DPO, editing by Darkstorm2150
22

3-
First version:
4-
A.I Translation by Model: NousResearch/Nous-Hermes-2-Mixtral-8x7B-DPO, editing by Darkstorm2150
5-
6-
Some parts are manually added.
3+
Document is updated and maintained manually.
74

85
# Config Readme
96

@@ -267,10 +264,10 @@ The following command line argument options are ignored if a configuration file
267264
* `--reg_data_dir`
268265
* `--in_json`
269266

270-
The following command line argument options are given priority over the configuration file options if both are specified simultaneously. In most cases, they have the same names as the corresponding options in the configuration file.
267+
For the command line options listed below, if an option is specified in both the command line arguments and the configuration file, the value from the configuration file will be given priority. Unless otherwise noted, the option names are the same.
271268

272-
| Command Line Argument Option | Prioritized Configuration File Option |
273-
| ------------------------------- | ------------------------------------- |
269+
| Command Line Argument Option | Corresponding Configuration File Option |
270+
| ------------------------------- | --------------------------------------- |
274271
| `--bucket_no_upscale` | |
275272
| `--bucket_reso_steps` | |
276273
| `--caption_dropout_every_n_epochs` | |

docs/fine_tune.md

Lines changed: 347 additions & 0 deletions
Large diffs are not rendered by default.

docs/flux_train_network.md

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -641,6 +641,40 @@ interpolation_type = "lanczos" # Example: Use Lanczos interpolation
641641

642642
</details>
643643

644+
### 7.3. Other Training Options / その他の学習オプション
645+
646+
- **`--controlnet_model_name_or_path`**: Specifies the path to a ControlNet model compatible with FLUX.1. This allows for training a LoRA that works in conjunction with ControlNet. This is an advanced feature and requires a compatible ControlNet model.
647+
648+
- **`--loss_type`**: Specifies the loss function for training. The default is `l2`.
649+
- `l1`: L1 loss.
650+
- `l2`: L2 loss (mean squared error).
651+
- `huber`: Huber loss.
652+
- `smooth_l1`: Smooth L1 loss.
653+
654+
- **`--huber_schedule`**, **`--huber_c`**, **`--huber_scale`**: These are parameters for Huber loss. They are used when `--loss_type` is set to `huber` or `smooth_l1`.
655+
656+
- **`--t5xxl_max_token_length`**: Specifies the maximum token length for the T5-XXL text encoder. For details, refer to the [`sd3_train_network.md` guide](sd3_train_network.md).
657+
658+
- **`--weighting_scheme`**, **`--logit_mean`**, **`--logit_std`**, **`--mode_scale`**: These options allow you to adjust the loss weighting for each timestep. For details, refer to the [`sd3_train_network.md` guide](sd3_train_network.md).
659+
660+
- **`--fused_backward_pass`**: Fuses the backward pass and optimizer step to reduce VRAM usage. For details, refer to the [`sdxl_train_network.md` guide](sdxl_train_network.md).
661+
662+
<details>
663+
<summary>日本語</summary>
664+
665+
- **`--controlnet_model_name_or_path`**: FLUX.1互換のControlNetモデルへのパスを指定します。これにより、ControlNetと連携して動作するLoRAを学習できます。これは高度な機能であり、互換性のあるControlNetモデルが必要です。
666+
- **`--loss_type`**: 学習に用いる損失関数を指定します。デフォルトは `l2` です。
667+
- `l1`: L1損失。
668+
- `l2`: L2損失(平均二乗誤差)。
669+
- `huber`: Huber損失。
670+
- `smooth_l1`: Smooth L1損失。
671+
- **`--huber_schedule`**, **`--huber_c`**, **`--huber_scale`**: これらはHuber損失のパラメータです。`--loss_type``huber` または `smooth_l1` の場合に使用されます。
672+
- **`--t5xxl_max_token_length`**: T5-XXLテキストエンコーダの最大トークン長を指定します。詳細は [`sd3_train_network.md` ガイド](sd3_train_network.md) を参照してください。
673+
- **`--weighting_scheme`**, **`--logit_mean`**, **`--logit_std`**, **`--mode_scale`**: これらのオプションは、各タイムステップの損失の重み付けを調整するために使用されます。詳細は [`sd3_train_network.md` ガイド](sd3_train_network.md) を参照してください。
674+
- **`--fused_backward_pass`**: バックワードパスとオプティマイザステップを融合してVRAM使用量を削減します。詳細は [`sdxl_train_network.md` ガイド](sdxl_train_network.md) を参照してください。
675+
676+
</details>
677+
644678
## 8. Related Tools / 関連ツール
645679

646680
Several related scripts are provided for models trained with `flux_train_network.py` and to assist with the training process:

docs/gen_img_README-ja.md

Lines changed: 97 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ SD 1.xおよび2.xのモデル、当リポジトリで学習したLoRA、Control
33
# 概要
44

55
* Diffusers (v0.10.2) ベースの推論(画像生成)スクリプト。
6-
* SD 1.xおよび2.x (base/v-parameterization)モデルに対応
6+
* SD 1.x、2.x (base/v-parameterization)、およびSDXLモデルに対応
77
* txt2img、img2img、inpaintingに対応。
88
* 対話モード、およびファイルからのプロンプト読み込み、連続生成に対応。
99
* プロンプト1行あたりの生成枚数を指定可能。
@@ -96,14 +96,20 @@ python gen_img_diffusers.py --ckpt <モデル名> --outdir <画像出力先>
9696

9797
- `--ckpt <モデル名>`:モデル名を指定します。`--ckpt`オプションは必須です。Stable Diffusionのcheckpointファイル、またはDiffusersのモデルフォルダ、Hugging FaceのモデルIDを指定できます。
9898

99+
- `--v1`:Stable Diffusion 1.x系のモデルを使う場合に指定します。これがデフォルトの動作です。
100+
99101
- `--v2`:Stable Diffusion 2.x系のモデルを使う場合に指定します。1.x系の場合には指定不要です。
100102

103+
- `--sdxl`:Stable Diffusion XLモデルを使う場合に指定します。
104+
101105
- `--v_parameterization`:v-parameterizationを使うモデルを使う場合に指定します(`768-v-ema.ckpt`およびそこからの追加学習モデル、Waifu Diffusion v1.5など)。
102106

103-
`--v2`の指定有無が間違っているとモデル読み込み時にエラーになります。`--v_parameterization`の指定有無が間違っていると茶色い画像が表示されます。
107+
`--v2``--sdxl`の指定有無が間違っているとモデル読み込み時にエラーになります。`--v_parameterization`の指定有無が間違っていると茶色い画像が表示されます。
104108

105109
- `--vae`:使用するVAEを指定します。未指定時はモデル内のVAEを使用します。
106110

111+
- `--tokenizer_cache_dir`:トークナイザーのキャッシュディレクトリを指定します(オフライン利用のため)。
112+
107113
## 画像生成と出力
108114

109115
- `--interactive`:インタラクティブモードで動作します。プロンプトを入力すると画像が生成されます。
@@ -112,6 +118,10 @@ python gen_img_diffusers.py --ckpt <モデル名> --outdir <画像出力先>
112118

113119
- `--from_file <プロンプトファイル名>`:プロンプトが記述されたファイルを指定します。1行1プロンプトで記述してください。なお画像サイズやguidance scaleはプロンプトオプション(後述)で指定できます。
114120

121+
- `--from_module <モジュールファイル>`:Pythonモジュールからプロンプトを読み込みます。モジュールは`get_prompter(args, pipe, networks)`関数を実装している必要があります。
122+
123+
- `--prompter_module_args`:prompterモジュールに渡す追加の引数を指定します。
124+
115125
- `--W <画像幅>`:画像の幅を指定します。デフォルトは`512`です。
116126

117127
- `--H <画像高さ>`:画像の高さを指定します。デフォルトは`512`です。
@@ -132,15 +142,41 @@ python gen_img_diffusers.py --ckpt <モデル名> --outdir <画像出力先>
132142

133143
- `--negative_scale` : uncoditioningのguidance scaleを個別に指定します。[gcem156氏のこちらの記事](https://note.com/gcem156/n/ne9a53e4a6f43)を参考に実装したものです。
134144

145+
- `--emb_normalize_mode`:embedding正規化モードを指定します。"original"(デフォルト)、"abs"、"none"から選択できます。プロンプトの重みの正規化方法に影響します。
146+
147+
## SDXL固有のオプション
148+
149+
SDXL モデル(`--sdxl`フラグ付き)を使用する場合、追加のコンディショニングオプションが利用できます:
150+
151+
- `--original_height`:SDXL コンディショニング用の元の高さを指定します。これはモデルの対象解像度の理解に影響します。
152+
153+
- `--original_width`:SDXL コンディショニング用の元の幅を指定します。これはモデルの対象解像度の理解に影響します。
154+
155+
- `--original_height_negative`:SDXL ネガティブコンディショニング用の元の高さを指定します。
156+
157+
- `--original_width_negative`:SDXL ネガティブコンディショニング用の元の幅を指定します。
158+
159+
- `--crop_top`:SDXL コンディショニング用のクロップ上オフセットを指定します。
160+
161+
- `--crop_left`:SDXL コンディショニング用のクロップ左オフセットを指定します。
162+
135163
## メモリ使用量や生成速度の調整
136164

137165
- `--batch_size <バッチサイズ>`:バッチサイズを指定します。デフォルトは`1`です。バッチサイズが大きいとメモリを多く消費しますが、生成速度が速くなります。
138166

139167
- `--vae_batch_size <VAEのバッチサイズ>`:VAEのバッチサイズを指定します。デフォルトはバッチサイズと同じです。
140168
VAEのほうがメモリを多く消費するため、デノイジング後(stepが100%になった後)でメモリ不足になる場合があります。このような場合にはVAEのバッチサイズを小さくしてください。
141169

170+
- `--vae_slices <スライス数>`:VAE処理時に画像をスライスに分割してVRAM使用量を削減します。None(デフォルト)で分割なし。16や32のような値が推奨されます。有効にすると処理が遅くなりますが、VRAM使用量が少なくなります。
171+
172+
- `--no_half_vae`:VAE処理でfp16/bf16精度の使用を防ぎます。代わりにfp32を使用します。VAE関連の問題やアーティファクトが発生した場合に使用してください。
173+
142174
- `--xformers`:xformersを使う場合に指定します。
143175

176+
- `--sdpa`:最適化のためにPyTorch 2のscaled dot-product attentionを使用します。
177+
178+
- `--diffusers_xformers`:Diffusers経由でxformersを使用します(注:Hypernetworksと互換性がありません)。
179+
144180
- `--fp16`:fp16(単精度)での推論を行います。`fp16``bf16`をどちらも指定しない場合はfp32(単精度)での推論を行います。
145181

146182
- `--bf16`:bf16(bfloat16)での推論を行います。RTX 30系のGPUでのみ指定可能です。`--bf16`オプションはRTX 30系以外のGPUではエラーになります。`fp16`よりも`bf16`のほうが推論結果がNaNになる(真っ黒の画像になる)可能性が低いようです。
@@ -157,6 +193,12 @@ python gen_img_diffusers.py --ckpt <モデル名> --outdir <画像出力先>
157193

158194
- `--network_pre_calc`:使用する追加ネットワークの重みを生成ごとにあらかじめ計算します。プロンプトオプションの`--am`が使用できます。LoRA未使用時と同じ程度まで生成は高速化されますが、生成前に重みを計算する時間が必要で、またメモリ使用量も若干増加します。Regional LoRA使用時は無効になります 。
159195

196+
- `--network_regional_mask_max_color_codes`:リージョナルマスクに使用する色コードの最大数を指定します。指定されていない場合、マスクはチャンネルごとに適用されます。Regional LoRAと組み合わせて、マスク内の色で定義できるリージョン数を制御するために使用されます。
197+
198+
- `--network_args`:key=value形式でネットワークモジュールに渡す追加引数を指定します。例: `--network_args "alpha=1.0,dropout=0.1"`
199+
200+
- `--network_merge_n_models`:ネットワークマージを使用する場合、マージするモデル数を指定します(全ての読み込み済みネットワークをマージする代わりに)。
201+
160202
# 主なオプションの指定例
161203

162204
次は同一プロンプトで64枚をバッチサイズ4で一括生成する例です。
@@ -235,7 +277,9 @@ python gen_img_diffusers.py --ckpt model.safetensors
235277

236278
- `--sequential_file_name`:ファイル名を連番にするかどうかを指定します。指定すると生成されるファイル名が`im_000001.png`からの連番になります。
237279

238-
- `--use_original_file_name`:指定すると生成ファイル名がオリジナルのファイル名と同じになります。
280+
- `--use_original_file_name`:指定すると生成ファイル名がオリジナルのファイル名の前に追加されます(img2imgモード用)。
281+
282+
- `--clip_vision_strength`:指定した強度でimg2img用のCLIP Vision Conditioningを有効にします。CLIP Visionモデルを使用して入力画像からのコンディショニングを強化します。
239283

240284
## コマンドラインからの実行例
241285

@@ -306,7 +350,9 @@ img2imgと併用できません。
306350
- `--highres_fix_upscaler`:2nd stageに任意のupscalerを利用します。現在は`--highres_fix_upscaler tools.latent_upscaler` のみ対応しています。
307351

308352
- `--highres_fix_upscaler_args``--highres_fix_upscaler`で指定したupscalerに渡す引数を指定します。
309-
`tools.latent_upscaler`の場合は、`--highres_fix_upscaler_args "weights=D:\Work\SD\Models\others\etc\upscaler-v1-e100-220.safetensors"`のように重みファイルを指定します。
353+
`tools.latent_upscaler`の場合は、`--highres_fix_upscaler_args "weights=D:\Work\SD\Models\others\etc\upscaler-v1-e100-220.safetensors"`のように重みファイルを指定します。
354+
355+
- `--highres_fix_disable_control_net`:Highres fixの2nd stageでControlNetを無効にします。デフォルトでは、ControlNetは両ステージで使用されます。
310356

311357
コマンドラインの例です。
312358

@@ -319,6 +365,34 @@ python gen_img_diffusers.py --ckpt trinart_characters_it4_v1_vae_merged.ckpt
319365
--highres_fix_scale 0.5 --highres_fix_steps 28 --strength 0.5
320366
```
321367

368+
## Deep Shrink
369+
370+
Deep Shrinkは、異なるタイムステップで異なる深度のUNetを使用して生成プロセスを最適化する技術です。生成品質と効率を向上させることができます。
371+
372+
以下のオプションがあります:
373+
374+
- `--ds_depth_1`:第1フェーズでこの深度のDeep Shrinkを有効にします。有効な値は0から8です。
375+
376+
- `--ds_timesteps_1`:このタイムステップまでDeep Shrink深度1を適用します。デフォルトは650です。
377+
378+
- `--ds_depth_2`:Deep Shrinkの第2フェーズの深度を指定します。
379+
380+
- `--ds_timesteps_2`:このタイムステップまでDeep Shrink深度2を適用します。デフォルトは650です。
381+
382+
- `--ds_ratio`:Deep Shrinkでのダウンサンプリングの比率を指定します。デフォルトは0.5です。
383+
384+
これらのパラメータはプロンプトオプションでも指定できます:
385+
386+
- `--dsd1`:プロンプトからDeep Shrink深度1を指定します。
387+
388+
- `--dst1`:プロンプトからDeep Shrinkタイムステップ1を指定します。
389+
390+
- `--dsd2`:プロンプトからDeep Shrink深度2を指定します。
391+
392+
- `--dst2`:プロンプトからDeep Shrinkタイムステップ2を指定します。
393+
394+
- `--dsr`:プロンプトからDeep Shrink比率を指定します。
395+
322396
## ControlNet
323397

324398
現在はControlNet 1.0のみ動作確認しています。プリプロセスはCannyのみサポートしています。
@@ -346,6 +420,20 @@ python gen_img_diffusers.py --ckpt model_ckpt --scale 8 --steps 48 --outdir txt2
346420
--guide_image_path guide.png --control_net_ratios 1.0 --interactive
347421
```
348422

423+
## ControlNet-LLLite
424+
425+
ControlNet-LLLiteは、類似の誘導目的に使用できるControlNetの軽量な代替手段です。
426+
427+
以下のオプションがあります:
428+
429+
- `--control_net_lllite_models`:ControlNet-LLLiteモデルファイルを指定します。
430+
431+
- `--control_net_multipliers`:ControlNet-LLLiteの倍率を指定します(重みに類似)。
432+
433+
- `--control_net_ratios`:ControlNet-LLLiteを適用するステップの比率を指定します。
434+
435+
注意:ControlNetとControlNet-LLLiteは同時に使用できません。
436+
349437
## Attention Couple + Reginal LoRA
350438

351439
プロンプトをいくつかの部分に分割し、それぞれのプロンプトを画像内のどの領域に適用するかを指定できる機能です。個別のオプションはありませんが、`mask_path`とプロンプトで指定します。
@@ -450,7 +538,9 @@ python gen_img_diffusers.py --ckpt wd-v1-3-full-pruned-half.ckpt
450538

451539
- `--opt_channels_last` : 推論時にテンソルのチャンネルを最後に配置します。場合によっては高速化されることがあります。
452540

453-
- `--network_show_meta` : 追加ネットワークのメタデータを表示します。
541+
- `--shuffle_prompts`:繰り返し時にプロンプトの順序をシャッフルします。`--from_file`で複数のプロンプトを使用する場合に便利です。
542+
543+
- `--network_show_meta`:追加ネットワークのメタデータを表示します。
454544

455545

456546
---
@@ -478,6 +568,8 @@ latentのサイズを徐々に大きくしていくHires fixです。`gen_img.py
478568
- `--gradual_latent_ratio` : latentの初期サイズを指定します。デフォルトは 0.5 で、デフォルトの latent サイズの半分のサイズから始めます。
479569
- `--gradual_latent_ratio_step`: latentのサイズを大きくする割合を指定します。デフォルトは 0.125 で、latentのサイズを 0.625, 0.75, 0.875, 1.0 と徐々に大きくします。
480570
- `--gradual_latent_ratio_every_n_steps`: latentのサイズを大きくする間隔を指定します。デフォルトは 3 で、3ステップごとに latent のサイズを大きくします。
571+
- `--gradual_latent_s_noise`:Gradual LatentのS_noiseパラメータを指定します。デフォルトは1.0です。
572+
- `--gradual_latent_unsharp_params`:Gradual Latentのアンシャープマスクパラメータをksize,sigma,strength,target-x形式で指定します(target-x: 1=True, 0=False)。推奨値:`3,0.5,0.5,1`または`3,1.0,1.0,0`
481573

482574
それぞれのオプションは、プロンプトオプション、`--glt``--glr``--gls``--gle` でも指定できます。
483575

0 commit comments

Comments
 (0)