Open2

fooocusで画像が破綻する問題を追う

gorngorn

Fooocusでa1111で報告されているのと、同じような出力画像の破綻が起きるので条件と原因を調べています。一番、怪しいのは、patch_clip.pyのpatched_encode_token_weightsの実装と睨んでいます。

            z = z * (original_mean / new_mean)

このあたりが怪しそうです。
とりあえず、original_meanとnew_meanを出力させて調べています。

gorngorn

ああ、ビンゴかも

original: tensor(-0.0196, device='cuda:0')
new tensor(-0.0199, device='cuda:0')
original: tensor(0.0005, device='cuda:0')
new tensor(0.0001, device='cuda:0')
original: tensor(-0.0159, device='cuda:0')
new tensor(-0.0159, device='cuda:0')
original: tensor(0.0079, device='cuda:0')
new tensor(0.0080, device='cuda:0')
original: tensor(-0.0202, device='cuda:0')
new tensor(-0.0205, device='cuda:0')
original: tensor(0.0004, device='cuda:0')
new tensor(3.7944e-05, device='cuda:0')

0.0004 / 3.7944e-05だと重みが吹っ飛ぶ。