Skip to content

Version 0.7.1

Compare
Choose a tag to compare
@kohya-ss kohya-ss released this 15 Jan 12:19
· 235 commits to main since this release
4f93bf1

Dec 24, 2023 / 2023/12/24

  • Fixed to work tools/convert_diffusers20_original_sd.py. Thanks to Disty0! PR #1016

  • tools/convert_diffusers20_original_sd.py が動かなくなっていたのが修正されました。Disty0 氏に感謝します。 PR #1016

Dec 21, 2023 / 2023/12/21

  • The issues in multi-GPU training are fixed. Thanks to Isotr0py! PR #989 and #1000

    • --ddp_gradient_as_bucket_view and --ddp_static_graph options are added to sdxl_train.py. Please specify these options for multi-GPU training.
  • IPEX support is updated. Thanks to Disty0!

  • Fixed the bug that the size of the bucket becomes less than min_bucket_reso. Thanks to Cauldrath! PR #1008

  • --sample_at_first option is added to each training script. This option is useful to generate images at the first step, before training. Thanks to shirayu! PR #907

  • --ss option is added to the sampling prompt in training. You can specify the scheduler for the sampling like --ss euler_a. Thanks to shirayu! PR #906

  • keep_tokens_separator is added to the dataset config. This option is useful to keep (prevent from shuffling) the tokens in the captions. See #975 for details. Thanks to Linaqruf!

    • You can specify the separator with an option like --keep_tokens_separator "|||" or with keep_tokens_separator: "|||" in .toml. The tokens before ||| are not shuffled.
  • Attention processor hook is added. See #961 for details. Thanks to rockerBOO!

  • The optimizer PagedAdamW is added. Thanks to xzuyn! PR #955

  • NaN replacement in SDXL VAE is sped up. Thanks to liubo0902! PR #1009

  • Fixed the path error in finetune/make_captions.py. Thanks to CjangCjengh! PR #986

  • マルチGPUでの学習の不具合を修正しました。Isotr0py 氏に感謝します。 PR #989 および #1000

    • sdxl_train.py--ddp_gradient_as_bucket_view--ddp_bucket_view オプションが追加されました。マルチGPUでの学習時にはこれらのオプションを指定してください。
  • IPEX サポートが更新されました。Disty0 氏に感謝します。

  • Aspect Ratio Bucketing で bucket のサイズが min_bucket_reso 未満になる不具合を修正しました。Cauldrath 氏に感謝します。 PR #1008

  • 各学習スクリプトに --sample_at_first オプションが追加されました。学習前に画像を生成することで、学習結果が比較しやすくなります。shirayu 氏に感謝します。 PR #907

  • 学習時のプロンプトに --ss オプションが追加されました。--ss euler_a のようにスケジューラを指定できます。shirayu 氏に感謝します。 PR #906

  • データセット設定に keep_tokens_separator が追加されました。キャプション内のトークンをどの位置までシャッフルしないかを指定できます。詳細は #975 を参照してください。Linaqruf 氏に感謝します。

    • オプションで --keep_tokens_separator "|||" のように指定するか、.tomlkeep_tokens_separator: "|||" のように指定します。||| の前のトークンはシャッフルされません。
  • Attention processor hook が追加されました。詳細は #961 を参照してください。rockerBOO 氏に感謝します。

  • オプティマイザ PagedAdamW が追加されました。xzuyn 氏に感謝します。 PR #955

  • 学習時、SDXL VAE で NaN が発生した時の置き換えが高速化されました。liubo0902 氏に感謝します。 PR #1009

  • finetune/make_captions.py で相対パス指定時のエラーが修正されました。CjangCjengh 氏に感謝します。 PR #986

Dec 3, 2023 / 2023/12/3

  • finetune\tag_images_by_wd14_tagger.py now supports the separator other than , with --caption_separator option. Thanks to KohakuBlueleaf! PR #913

  • Min SNR Gamma with V-predicition (SD 2.1) is fixed. Thanks to feffy380! PR#934

    • See #673 for details.
  • --min_diff and --clamp_quantile options are added to networks/extract_lora_from_models.py. Thanks to wkpark! PR #936

    • The default values are same as the previous version.
  • Deep Shrink hires fix is supported in sdxl_gen_img.py and gen_img_diffusers.py.

    • --ds_timesteps_1 and --ds_timesteps_2 options denote the timesteps of the Deep Shrink for the first and second stages.
    • --ds_depth_1 and --ds_depth_2 options denote the depth (block index) of the Deep Shrink for the first and second stages.
    • --ds_ratio option denotes the ratio of the Deep Shrink. 0.5 means the half of the original latent size for the Deep Shrink.
    • --dst1, --dst2, --dsd1, --dsd2 and --dsr prompt options are also available.
  • finetune\tag_images_by_wd14_tagger.py--caption_separator オプションでカンマ以外の区切り文字を指定できるようになりました。KohakuBlueleaf 氏に感謝します。 PR #913

  • V-predicition (SD 2.1) での Min SNR Gamma が修正されました。feffy380 氏に感謝します。 PR#934

    • 詳細は #673 を参照してください。
  • networks/extract_lora_from_models.py--min_diff--clamp_quantile オプションが追加されました。wkpark 氏に感謝します。 PR #936

    • デフォルト値は前のバージョンと同じです。
  • sdxl_gen_img.pygen_img_diffusers.py で Deep Shrink hires fix をサポートしました。

    • --ds_timesteps_1--ds_timesteps_2 オプションは Deep Shrink の第一段階と第二段階の timesteps を指定します。
    • --ds_depth_1--ds_depth_2 オプションは Deep Shrink の第一段階と第二段階の深さ(ブロックの index)を指定します。
    • --ds_ratio オプションは Deep Shrink の比率を指定します。0.5 を指定すると Deep Shrink 適用時の latent は元のサイズの半分になります。
    • --dst1--dst2--dsd1--dsd2--dsr プロンプトオプションも使用できます。

Nov 5, 2023 / 2023/11/5

  • sdxl_train.py now supports different learning rates for each Text Encoder.

    • Example:
      • --learning_rate 1e-6: train U-Net only
      • --train_text_encoder --learning_rate 1e-6: train U-Net and two Text Encoders with the same learning rate (same as the previous version)
      • --train_text_encoder --learning_rate 1e-6 --learning_rate_te1 1e-6 --learning_rate_te2 1e-6: train U-Net and two Text Encoders with the different learning rates
      • --train_text_encoder --learning_rate 0 --learning_rate_te1 1e-6 --learning_rate_te2 1e-6: train two Text Encoders only
      • --train_text_encoder --learning_rate 1e-6 --learning_rate_te1 1e-6 --learning_rate_te2 0: train U-Net and one Text Encoder only
      • --train_text_encoder --learning_rate 0 --learning_rate_te1 0 --learning_rate_te2 1e-6: train one Text Encoder only
  • train_db.py and fine_tune.py now support different learning rates for Text Encoder. Specify with --learning_rate_te option.

    • To train Text Encoder with fine_tune.py, specify --train_text_encoder option too. train_db.py trains Text Encoder by default.
  • Fixed the bug that Text Encoder is not trained when block lr is specified in sdxl_train.py.

  • Debiased Estimation loss is added to each training script. Thanks to sdbds!

    • Specify --debiased_estimation_loss option to enable it. See PR #889 for details.
  • Training of Text Encoder is improved in train_network.py and sdxl_train_network.py. Thanks to KohakuBlueleaf! PR #895

  • The moving average of the loss is now displayed in the progress bar in each training script. Thanks to shirayu! PR #899

  • PagedAdamW32bit optimizer is supported. Specify --optimizer_type=PagedAdamW32bit. Thanks to xzuyn! PR #900

  • Other bug fixes and improvements.

  • sdxl_train.py で、二つのText Encoderそれぞれに独立した学習率が指定できるようになりました。サンプルは上の英語版を参照してください。

  • train_db.py および fine_tune.py で Text Encoder に別の学習率を指定できるようになりました。--learning_rate_te オプションで指定してください。

    • fine_tune.py で Text Encoder を学習するには --train_text_encoder オプションをあわせて指定してください。train_db.py はデフォルトで学習します。
  • sdxl_train.py で block lr を指定すると Text Encoder が学習されない不具合を修正しました。

  • Debiased Estimation loss が各学習スクリプトに追加されました。sdbsd 氏に感謝します。

    • --debiased_estimation_loss を指定すると有効になります。詳細は PR #889 を参照してください。
  • train_network.pysdxl_train_network.py でText Encoderの学習が改善されました。KohakuBlueleaf 氏に感謝します。 PR #895

  • 各学習スクリプトで移動平均のlossがプログレスバーに表示されるようになりました。shirayu 氏に感謝します。 PR #899

  • PagedAdamW32bit オプティマイザがサポートされました。--optimizer_type=PagedAdamW32bit と指定してください。xzuyn 氏に感謝します。 PR #900

  • その他のバグ修正と改善。