見出し画像

WEBUIのforgeでTypeError: 'NoneType' object is not iterableエラーの対処方法

AI画像生成のWEBUIのforge版でなぜか
TypeError: 'NoneType' object is not iterable」がでるようになりました。
原因は、分からないですが、SGUUnifrom以外を使おうとするとエラーがでていました。
エラーログ確認して、対処できたので備忘録として残します。

エラー部分の確認

All\nAll1,All.9,All.8,All.7,All.6,All.5,All.4,All.3,All.2,All.1,All0,AllR,AllU\nAll1:1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1\nAll.9:0.9,0.9,0.9,0.9,0.9,0.9,0.9,0.9,0.9,0.9,0.9,0.9,0.9,0.9,0.9,0.9,0.9,0.9,0.9,0.9,0.9,0.9,0.9,0.9,0.9,0.9\nAll.8:0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8,0.8\nAll.7:0.7,0.7,0.7,0.7,0.7,0.7,0.7,0.7,0.7,0.7,0.7,0.7,0.7,0.7,0.7,0.7,0.7,0.7,0.7,0.7,0.7,0.7,0.7,0.7,0.7,0.7\nAll.6:0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6,0.6\nAll.5:0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5\nAll.4:0.4,0.4,0.4,0.4,0.4,0.4,0.4,0.4,0.4,0.4,0.4,0.4,0.4,0.4,0.4,0.4,0.4,0.4,0.4,0.4,0.4,0.4,0.4,0.4,0.4,0.4\nAll.3:0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3\nAll.2:0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2\nAll.1:0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1\nAll0:0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0\nAllR:R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R\nAllU:U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U

上記みたいなコードが多数あってうんざりしますが、エラー部分の情報を血探していくと下記が見つかりました。

KeyError: 'Karras' 'Karras' *** Error completing request

TypeError: 'NoneType' object is not iterableエラー部分

上記エラーからSampling methodのKarrasが値エラーかなと思います。
Sampling methodを弄る部分の場所は下記です。

C:\~stable-diffusion-webui-forge\modules\sd_samplers_kdiffusion.py

該当部分は、
k_diffusion_scheduler = {
    'Automatic': None,
    'karras': k_diffusion.sampling.get_sigmas_karras,
    'exponential': k_diffusion.sampling.get_sigmas_exponential,
    'polyexponential': k_diffusion.sampling.get_sigmas_polyexponential
}

Karras定義されています・・・・・え!?となりましたが、英語のkは大文字と小文字の区別がしづらいと思い、'Karras'のkの部分を大文字のKにしたところエラーが解消されました。

こちらは何も触っていない・・・と思うので、なぜエラーが起きたかはわかりませんが、エラーは解除できたので良かったです。

サポートしていただけると飛び跳ねて喜びます。