kohya-ss / sd-scripts

Apache License 2.0
5.31k stars 880 forks source link

Bug fix: alpha_mask load #1615

Closed Maru-mee closed 2 months ago

Maru-mee commented 2 months ago

npzからalpha_maskを読み込む時の、reso判定にミスがあったため修正しました。 I fixed the issue with the reso check when importing alpha_mask reso from the npz.

before ・ aspect ratio of img. is 1:1 … Successfully loaded ・ aspect ratio of img. is not 1:1 … Failed to load

after Both of the above … Successfully loaded


・検証に使用したのは、--alpha_maskオプションではなく、 [[datasets.subsets]] alpha_mask = true

Maru-mee commented 2 months ago

上記の問題とは別に、alpha_maskについてもう一つ問題があります。 subsetごとにalpha_mask=true/falseが混在していると(例:下記のjson)、alpha_maskを含むnpzが作成されません。確認した結果、すべてのsubsetに対して、subset.alpha_mask=falseの処理が行わていました。

train_util.pyのこの部分に何等かの問題がありそうです。 原因調査中ですが、もしわかる方がいらっしゃいましたら、ご教授の程よろしくお願い致します。

    for batch in tqdm(batches, smoothing=1, total=len(batches)):  
        cache_batch_latents(vae, cache_to_disk, batch, subset.flip_aug, subset.alpha_mask, subset.random_crop)

もしその問題が解決できなくとも、このPR#1615には直接影響はないため、Closeしても問題ありません。


metadata.json [[datasets.subsets]]  #folder 1 alpha_mask = ture

[[datasets.subsets]]  #folder 2 alpha_mask = false

kohya-ss commented 2 months ago

ありがとうございます。マージしました。

alpha_maskが混在しているとnpzが作られない件について簡単に確認しましたが、すぐには分かりませんでした。のちほど時間を取って確認してみます。

Maru-mee commented 2 months ago

ありがとうございます。 alpha_mask関係で他にもいくつかバグを発見したので、その件も含めて、私の方でも調査を続けます。

kohya-ss commented 2 months ago

お手数お掛けします。alpha_maskは個人的に使っていない機能のためテストが手が回っておりません……。

Maru-mee commented 2 months ago

私はよく使っているし勉強のため、ちょっと頑張ってみます。