Skip to content

Fix/leco cleanup#2294

Merged
kohya-ss merged 5 commits intosd3from
fix/leco-cleanup
Mar 29, 2026
Merged

Fix/leco cleanup#2294
kohya-ss merged 5 commits intosd3from
fix/leco-cleanup

Conversation

@kohya-ss
Copy link
Copy Markdown
Owner

No description provided.

umisetokikaze and others added 4 commits March 28, 2026 19:25
* Add LECO training script and associated tests

- Implemented `sdxl_train_leco.py` for training with LECO prompts, including argument parsing, model setup, training loop, and weight saving functionality.
- Created unit tests for `load_prompt_settings` in `test_leco_train_util.py` to validate loading of prompt configurations in both original and slider formats.
- Added basic syntax tests for `train_leco.py` and `sdxl_train_leco.py` to ensure modules are importable.

* fix: use getattr for safe attribute access in argument verification

* feat: add CUDA device compatibility validation and corresponding tests

* Revert "feat: add CUDA device compatibility validation and corresponding tests"

This reverts commit 6d3e514.

* feat: update predict_noise_xl to use vector embedding from add_time_ids

* feat: implement checkpointing in predict_noise and predict_noise_xl functions

* feat: remove unused submodules and update .gitignore to exclude .codex-tmp

---------

Co-authored-by: Kohya S. <52813779+kohya-ss@users.noreply.github.com>
- train_util.py/deepspeed_utils.py の getattr 化を元に戻し、LECO パーサーにダミー引数を追加
- sdxl_train_util のモジュールレベルインポートをローカルインポートに変更
- PromptEmbedsCache.__getitem__ でキャッシュミス時に KeyError を送出するよう修正
- 設定ファイル形式を YAML から TOML に変更(リポジトリの規約に統一)
- 重複コード (build_network_kwargs, get_save_extension, save_weights) を leco_train_util.py に統合
- _expand_slider_target の冗長な PromptSettings 構築を簡素化
- add_time_ids 用に専用の batch_add_time_ids 関数を追加

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
コマンドライン引数の全カテゴリ別解説、プロンプト TOML の全フィールド説明、
2つの guidance_scale の違い、推奨設定表、YAML からの変換ガイド等を追加。
英語本文と日本語折り畳みの二言語構成。

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds first-class LECO training support to the repo via dedicated entry-point scripts, shared utilities, documentation, and basic tests.

Changes:

  • Introduce train_leco.py and sdxl_train_leco.py training entry points (SD1/2 and SDXL).
  • Add library/leco_train_util.py utilities for prompt TOML parsing, embedding caching, and LECO diffusion helpers.
  • Add docs and pytest coverage for parser compatibility and prompt parsing/XL vector embedding behavior.

Reviewed changes

Copilot reviewed 8 out of 9 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
train_leco.py New SD1/2 LECO training script (no dataset required).
sdxl_train_leco.py New SDXL LECO training script mirroring SD1/2 flow.
library/leco_train_util.py New LECO utilities: prompt TOML loading + diffusion/prediction helpers.
tests/test_train_leco.py Smoke/parsing test ensuring shared arg validation compatibility.
tests/test_sdxl_train_leco.py SDXL variant of the parser/validation smoke test.
tests/library/test_leco_train_util.py Unit tests for prompt parsing and SDXL size-embedding wiring.
docs/train_leco.md New documentation describing LECO training and prompt TOML formats.
library/train_util.py Formatting-only changes (line breaks).
.gitignore Ignore .codex-tmp; keep references entry.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

torch.randn のデフォルト float32 により latents が暗黙的にアップキャストされる問題を修正。
float32/CPU で生成後に latents の dtype/device へ変換する安全なパターンを採用。

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@kohya-ss kohya-ss merged commit 5cdad10 into sd3 Mar 29, 2026
3 checks passed
@kohya-ss kohya-ss deleted the fix/leco-cleanup branch March 29, 2026 11:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants