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の作業もする。
掲載日: 2024-04-20
iPentec all rights reserverd.