ControlNet で画像生成を実行すると、"pixel_unshuffle expects width to be divisible by downscale_factor" エラーが発生する - Stable Diffusion
ControlNet で画像生成を実行すると、"pixel_unshuffle expects width to be divisible by downscale_factor" エラーが発生する場合の対処法です。
現象
Stable Diffusion Web UIでControlNetを使用して画像生成を実行すると以下のエラーが発生し、処理が停止します。
エラーメッセージ
RuntimeError: pixel_unshuffle expects width to be divisible by downscale_factor, but input.size(-1)=nnnn is not divisible by 16
原因
処理中で16で割り切れないピクセル数を利用していることが原因のようです。
対処法1:出力画像を16で割り切れるサイズに変更する
出力画像のサイズを16で割り切れる数値に変更します。
320 ~ 2,048 の範囲で16で割り切れる代表的な数値は以下があります。
数値 | 補足 |
320 | 16,32,64で割り切れる |
640 | 16,32,64,128で割り切れる |
768 | 16,32,64,128で割り切れる |
960 | 16,32,64,128で割り切れる |
1,024 | 16,32,64,128,512で割り切れる |
1,152 | 16,32,64,128で割り切れる |
1,280 | 16,32,64,128で割り切れる |
1,536 | 16,32,64,128,512で割り切れる |
1,920 | 16,32,64,128で割り切れる |
2,048 | 16,32,64,128,512で割り切れる |
対処法2:設定を変更する
ControlNetの設定や、サンプリングメソッドの設定が少し変化しただけでエラーが発生しなくなる場合もあります。
設定を変更してエラーが出ない数値を見つけます。
著者
iPentecのメインデザイナー
Webページ、Webクリエイティブのデザインを担当。PhotoshopやIllustratorの作業もする。