huggingface / huggingface/diffusers
Wrong default layers for Flux 2 Klein
- 主要言語
- Python
- スター
- 34.5k
- フォーク
- 7.3k
- 平均マージ
- 3日 3時間
- マージ済み PR(30日)
- 91
説明
### Describe the bug
Thanks a lot for taking the time to review this issue 🤗
There seems to be a mismatch between the default values exposed via CLI arguments and the layers that are actually used internally in the script:
Script:
[pipeline_flux2_klein.py](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/flux2/pipeline_flux2_klein.py)
[train_dreambooth_lora_flux2_klein.py](https://github.com/huggingface/diffusers/blob/main/examples/dreambooth/train_dreambooth_lora_flux2_klein.py)
The argument definition specifies:
```
parser.add_argument(
"--text_encoder_out_layers",
type=int,
nargs="+",
default=[10, 20, 30],
help="Text encoder hidden layers to compute the final text embeddings.",
)
```
However, inside the implementation the following layers are actually used:
`hidden_states_layers: list[int] = (9, 18, 27)`
**Expected behavior**
The default CLI argument values should match the layers that are actually used internally, or the internal implementation should respect the provided CLI values.
**Actual behavior**
There is an off-by-one inconsistency between:
CLI defaults: [10, 20, 30]
Internal usage: (9, 18, 27)
This can lead to confusion and potentially incorrect assumptions when tuning or debugging training behavior.
**Possible cause**
This might be a copy-paste artifact from:
[train_dreambooth_lora_flux2.py](https://github.com/huggingface/diffusers/blob/main/examples/dreambooth/train_dreambooth_lora_flux2.py)
which uses a different setup (e.g. Mistral-based text encoder in a dev version), where layer indexing may differ.
**Additional context**
This discrepancy cost me ~72 GPU hours before I realized what was going on, so I figured it’s worth documenting 😅
**Suggested fix**
Either align defaults with (9, 18, 27)
Or make sure --text_encoder_out_layers is actually used consistently throughout the script
### Reproduction
No special setup required — this is directly visible from reading the script.
### Logs
```shell
```
### System Info
N/A
### Who can help?
_No response_
コントリビューションガイド
調査の方向性
src/diffusers/pipelines/flux2/pipeline_flux2_klein.py と examples/dreambooth/train_dreambooth_lora_flux2_klein.py から始め、--text_encoder_out_layers の CLI デフォルト値と内部の hidden_states_layers の値を比較します。引数がテキスト埋め込みの計算にどのように渡されるかを追跡し、意図された layer のインデックス付けを確認します。デフォルト値と実際の layer が一貫しており、選択した動作がそれである場合は、明示的に指定された CLI 値が尊重されていれば完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- python, pytorch
- 領域
- machine-learning
- issue の種類
- バグ
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 活発さ
- 静か
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 65/100