Stable Diffusionを使っていると、エラーが出てしまい困ったことはありませんか?エラーは良く発生するので、どう対処したらよいかは常に頭に入れておきたいですよね。
そんな方のために、今回はStable Diffusionで良くあるエラーの原因と対処法について徹底解説します!
Stable Diffusionで共通してよく起きるエラー
Stable DiffusionはさまざまなUIで利用することができます。
どのStable Diffusion Web UIにも共通で、よく起きるエラーについて見ていきましょう。
共通してよく起きるエラー①:画像が生成できなくなる
Something went wrong Connecttion errored out.
画像生成をしていると上記のようなエラーが出ることがあります。
原因はStable Diffusionサーバーとのネットワーク接続が切れていることが多いです。
対処法 Stable Diffusionを再起動する
共通してよく起きるエラー②:VRAMが不足している
Not enough memory,use lower resolution(max approx,解像度).
Need:要求されるVRAMの容量,Have:現在のVRAMの容量
と出ることがあります。
対処法①:グラフィックボードを買い替える(ローカル版向け)
ローカル版で利用の場合、VRAMの容量不足はグラボの性能が低いことが原因ですので、買い替えの際にはグラボのVRAMの値が良いものを選びましょう。
具体的には12GB以上が推奨されています。
ただし、12GBのグラボを導入するのに最も安くても5万円ほどします。
手軽にVRAM不足を解消するなら、次に紹介するbatファイルの導入を検討しましょう。
対処法②:batファイルを導入する
batファイルを導入することで、VRAMの負荷を軽減することができます。
2パターンありますのでご紹介します。以下のgithubのリンクを参考に、batファイルを導入しましょう。
1)起動batファイル(webui-user.bat)内に『–medvram』を記載する
2)『–medvram』の代わりに『–lowvram』と導入する
VRAMの担当する作業がさらに減ります。
・【実践】batファイルの導入方法です。(画像はGoogle Colab・macOSです)
①Google Colabから「stable-diffusion-webui」のファイルを開く
②stable-diffusion-webui>tmp>「webui.bat」を右クリック
③ダウンロードしてテキストエディタを開いて編集(テキストエディタはなんでもOK)
④「set COMMANDLINE_ARGES=」の後ろに『–medvram』を追加
⑤出来上がったファイルをstable-diffusion-webui > temp に保存
⑥準備OK
今回は「—medvram」を導入しましたが「–lowvram」でも同様です。
お疲れ様でした! batファイルの導入はこれにて完了です。
Stable DiffusionをGoogle Colabで利用する際に起きるエラー
次にGoogle Colabで利用する利用する際に起きるエラーをまとめます。
※Stable DiffusionをGoogle Colabで立ち上げる方法は、以下の記事を参考にしてください。
Google Colabで利用する際に起きるエラー①:画像が生成できなくなる
Something went wrong Connecttion errored out.
無料版を使っているためサーバー負荷で、「Something went wrong」と出ることがあります。
無料版はGoogle Colabのリソースをgoogle側が支払えないため、2023年4月より利用制限をしているそうです。
「有料版であれば利用制限なく使える」とGoogleの中の人が言っています。
対処法①:有料版への切り替え(おすすめ!)
画像生成をするのであれば、月額1,100円で驚くほど処理速度が変わります。
時短やスキルアップのためにもStable Diffusion を少しでも触るなら課金しましょう。
対処法②:プロンプトや画像を軽量化
大量のプロンプトの処理、サイズの大きい画像を生成などはエラーにつながりやすいため、なるべく軽量化して画像生成をしましょう。
Google Colabで利用する際に起きるエラー②:Stable Diffusionが起動しない
Stable Diffusionの起動がうまくいかない場合は、Pythonの起動に原因があります。
対処法:Pythonの再起動をする
※Stable Diffusionが起動しない場合の対処法については、以下の記事でさらに詳しく解説しています。
- Stable Diffusionのプロンプトの見本が知りたい
- 画像生成が思ったようにできない
- 色々なプロンプトを探したい
Stable DiffusionをAUTOMATIC1111で利用する際に起きるエラー
AUTOMATIC1111のPrunedの使用時に画像生成ができない場合の解説をします。
AUTOMATIC1111で利用する際に起きるエラー:画像が生成できなくなる
「modules.devices.NansException: A tensor with all NaNs was produced in Unet. This could be either because there’s not enough precision to represent the picture, or because your video card does not support half type. Try setting the “Upcast cross attention layer to float32” option in Settings > Stable Diffusion or using the –no-half commandline argument to fix this. Use –disable-nan-check commandline argument to disable this check.」
上記はPrunedのfp16というモデルを使うことが原因のことがあります。
●対処法
settings > stable diffusion > Upcast cross attention layer to float32にチェックを入れる
この設定を適用すると改善される場合があります。
NMKD Stable Diffusion GUIを利用する際に起きるエラー
最後に、NMKD Stable Diffusion GUIの利用の際に起きるエラーをまとめます。
NMKD Stable Diffusion GUIを利用する際に起きるエラー①:画像が黒or緑になる
使用しているグラフィックボードがGeForce GTX16系(1660、1660 Super、1660 Ti)である場合、この問題が発生することがあります。
対処法①:Use Full Precisionにチェックを入れる
NMKD Stable Diffusion GUIの画面右上にある歯車マークを押して、「Use Full Precision」にチェックを入れてください。画像生成ができるはずです。
対処法②:低メモリモードに切り替える
①の方法で解決しない場合は、VRAMの容量不足が原因の可能性があります。
歯車マーク > Settings画面 > Stable Diffusion (OptimizedSD – CUDA – Low Memory Mode)を選択することで、画像生成がうまくいきます。
NMKD Stable Diffusion GUIを利用する際に起きるエラー②:画像が生成されない
NMKD Stable Diffusion GUIを利用しているときに、
「Error failed to load model」
と表示されることがあります。
対処法①:生成する画像のサイズを小さいものにする
Resolution (解像度) を一番小さい 320×320 にしてみてください。
画像生成がうまくいきます。
対処法②:VRAM使用量を減らす 低メモリモード を使用する
①の方法で改善が見られない場合は、VRAMの容量不足が原因の可能性があります。
歯車マーク>Settings画面>Stable Diffusion (OptimizedSD – CUDA – Low Memory Mode)を選択することで、画像生成がうまくいきます。
まとめ
いかがでしたでしょうか?
Stable Diffusion Diffusionでエラーになる理由と対処法について解説してきました!
今回のポイントをまとめると、以下のようになります。
- Stable Diffusion web UIとNMKD Stable Diffusion GUIで対処方法が変わる
- エラーの原因はVRAM容量不足であることが多い
Stable Diffusionを使っていると、よくエラーは起こるものです。
対処法を学んで、快適なStable Diffusionライフを楽しみましょう!
- Stable Diffusionのプロンプトの見本が知りたい
- 画像生成が思ったようにできない
- 色々なプロンプトを探したい