Stable Diffusion web UIで画像生成されない時は?【img2imgのエラー】

Stable Diffusion web UIで画像生成されない時は?【img2img】 🤖AIイラスト
子猫ちゃん
子猫ちゃん

Stable Diffusion web UIで、i2iの時に画像が生成されない…

エラーメッセージも英語で全く分からない…

でも、動かないと困るし、頑張って対策しなきゃ!

Stable Diffusion web UIのエラーメッセージ

【Stable Diffusion web UIのエラーメッセージ】

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.

Time taken: 6.2 sec.
A: 10.26 GB, R: 11.47 GB, Sys: 12.9/15.9961 GB (80.5%)

子猫ちゃん
子猫ちゃん

エラーメッセージ、全然読めないよぅ…

うぅぅ…

カクヨさん
カクヨさん

とりあえず、内容を日本語に翻訳してみましょうか。

エラーメッセージの日本語訳

NansException: (エラー)
Unetで全てNaNのテンソルが生成されました。
これは、画像を表現するのに十分な精度がないか、またはお使いのビデオカードがhalf型をサポートしていない可能性があります。
「設定」⇒「Stable Diffusion」で、「Upcast cross attention layer to float32」というオプションを設定するか、「–no-half」コマンドライン引数を使用して修正してください。
このチェックを無効にするには、「–disable-nan-check」コマンドライン引数を使用してください。

所要時間: 6.2秒。
A: 10.26 GB、R: 11.47 GB、Sys: 12.9/15.9961 GB (80.5%)

まずはエラーメッセージ通りに対処してみる

子猫ちゃん
子猫ちゃん

よく分からない言葉も多いけど…

「設定」⇒「Stable Diffusion」⇒「Upcast cross attention layer to float32」は何とかなるかも!

直るといいな♪

  1. Stable Diffusion web UIの「設定」タブを押す
  2. 左メニューの「Stable Diffusion」を選択
  3. 「Upcast cross attention layer to float32」にチェックを入れる
  4. 「更新」を押す

30分後…

子猫ちゃん
子猫ちゃん

うぅ…

エラーメッセージ通り設定したのに、全く画像生成ができない…

次の方法を試さなきゃ…

子猫ちゃん
子猫ちゃん

次の、「–no-half」と「–disable-nan-check」って何…???

「コマンドライン引数を使用」の意味も分からない…

カクヨさん
カクヨさん

「–no-half」と「–disable-nan-check」に関しては、エラーメッセージを読んでも理解できません。

「webui-user.bat」と書かれたファイルを開き、編集する必要があります。

手順を説明するのでご確認ください。

  • 「Stable Diffusion web UI」のフォルダを開く
  • 「stable-diffusion-webui-master」のフォルダを開く
  • 「webui-user.bat」のファイルを見つける
  • 右クリックを押して、メモ帳で開く

エラーメッセージの案内に従って、「–no-half」と「–disable-nan-check」を追加する。
追加するのが面倒な場合は、下記のコードをコピペして貼り付けてください。↓

@echo off

set PYTHON=
set GIT=
set VENV_DIR=
set COMMANDLINE_ARGS=--no-half --disable-nan-check

call webui.bat

最後にメモ帳を上書き保存して、Stable Diffusion web UIを再起動しましょう。

子猫ちゃん
子猫ちゃん

これなら直るかも!

わくわく。

…30分後

子猫ちゃん
子猫ちゃん

ぜ…全然直らない…

ど…どういうことなの…?

エラーメッセージ通り、完璧に直したのに…

カクヨさん
カクヨさん

Stable Diffusion web UIのエラーは、メッセージ通り対応しても直らないことも多いです。

海外でも「どういうことなの…」という悲鳴が上がっており、別の方法を試す必要があります。

【海外の反応】
https://github.com/AUTOMATIC1111/stable-diffusion-webui/issues/12921

「txt2img」で1枚生成してから「img2img」すると直る

カクヨさん
カクヨさん

エラーメッセージ通り対応しても直らない場合は、次の手順をお試しください!

  1. 「txt2img」のタブを選択する
  2. プロンプト(呪文)が空の状態で、画像を1枚生成する
  3. 「img2img」のタブを選択する
  4. 画像生成ボタンを押す
  5. エラー無しで画像が生成されたら成功

YouTube動画の解説もご確認ください👇

子猫ちゃん
子猫ちゃん

えぇぇっ!!!

何故いきなり直ったの???

ま…魔法?

カクヨさん
カクヨさん

詳しい理由は不明ですが、海外の情報を調べるとバグのようです。

ちなみに、下記の方法でも直ることがあります。

  • 「VAE」を変更する
  • 「VAE」を「なし」に変更する(ただし画質は低下する)
  • Stable Diffusion web UIを最新版に更新する(たまにこれで直ることがある)

Stable Diffusion web UIで画像生成されない時は、今回の方法をお試しください!

コメント

タイトルとURLをコピーしました