Mac OS 12 → 14.6.1へアップデート、SDが動かなくなって困ったぞ【解決済み】
この記事は2024年9月時点でのMac OS 14 でのStable Diffusionでのトラブルシューティングに関する内容です。
いや、タイトルからツッコミどころよ….。
OS 12てやばくないすか苦笑。
えぇ、流石にデスクトップの挙動さえ怪しくなってきてましたよ。
こんばんは、AIイラスト研究室です。
お久しぶりです。
また、noteに還ってくることができて嬉しい限りです。
さて、そんな最初の話題は早速、Stable Diffusionになります。
三年前よりずーっと愛用してきたmac book pro M1 チップですが、SDを使用する関係上ずーっと起動していることも多く、なかなかOSのアプデが疎かになっておりました。(自分だけ?)
まそんなわけでなんと世間はいつの間にかOS14になっていると言うのに自分のOSは12のままでした!
最近?やたらワードの編集が不可能になったり、デスクトップのファイルを動かそうとするとやたら画面が重かったり、増強したメモリが32GBもあるとは思えない動きっぷりでした。
あれ、これはもしやOSが古くなりすぎたからでは?
なんて思いつつも、まぁなんやかんやアップデートは面倒なので騙し騙し使ってたのですが、いよいよ科研費を書くにあたりPCがサクサクでないと色々キツイぞと言うことで、この際思い切ってOS 14にアップデートすることにしました。
ほんとはMac OS版のバイオハザード4 ReがOS14じゃないとダウンロードできないと聞いて仕方なく。おい、仕事しろ!
なんて冗談はさておき、アップデートに軽く半日以上かかりましたw
ヤバス。
さてさて、念願の最新OSで動かすマックんはどうでしょうかね。
「見せてもらおうか、最新のOSのMacの性能とやらを!!」
すごい!ワードもエクセルも!あれもこれもサクサク動く!!
そこを確認したら早速SDを起動。
ぽち。
えっ!!!
なんじゃこりゃ!!
いやいや、再起動したら直るよね?
再起動、そして再生成!
ぽち!!
やばいやばい!
OSアプデしたらSDが死んだーーーーーーーー!!!
ふぅ。
いや、むしろ良い!
科研費に集中するんダ!
とか言いつつ、どうやらHigh res fixがダメで普通に生成、img2imgでアプスケールと言う方法ならなんとか起動することがわかりました。
しかーし、本日、いよいよ普通のサイズのイラストも生成できなくなってしまいました。
エラーメッセージはこんな感じ。
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.
生成を押してもイラストの部分が真っ暗で生成終了後はno picture状態です。
これは困り果てたぞ、ということで色々と試したら最後無事に元通りになったので共有します。
Mac OSをアップデートしてSDが動かなくなった状況
まずは詳しい状況から。
状況1:512 x 512や640x640などの小さいスケールのイラストは生成できる。
状況2:512 x 768や640x832などのイラストは生成不可。
状況3:512x512のimg2imgで1.2倍のアップスケールも不可。
状況4:生成ボタンを押すと計算は走っているが、ターミナルはひたすらエラーが更新されて、100%になるとイラストは何も表示されない。
状況5:上記のエラーメッセージが表示される。
こんな感じでした。
効果がなかった対処法その1
記事の通り色々いじってみましたが改善しませんでした。
読み飛ばしてもイイです。
さてさて、早速このエラーメッセージをgoogleにコピペして問題解決を図ります。
辿り着いたこちらのHP。
いろんな記事で見かけたのですが、まずはwebuiのセッティングのところをいじりなさいと言うもの。
Upcast cross attention layer to float32
これにチェックを入れましょう。
ここの赤い枠の部分ですね。
はい、チェックを入れて生成してみましたが、解決しません。
ヌーーーん。
次にブログで推奨されている操作がwebui-user.batのファイルのプログラムを書き換えると言うもの。
この子ですね。
早速VS codeでファイルを開いてみましょう。
6列目のCOMANDLINE_ARGS= の後ろにブログ内の呪文を追加せよとのこと。
したの画像は追加したものになります。
これで再びSDを再起動しましたが改善しませんでした。
残念!
効果がなかった対処法その2
よし、いっそのこと、webuiを一からインストールするのが早いわ!
まぁこれはいろんな記事があるので、とりあえずみやすかったものを。
はい、再度インストールしましたが、今度はなんと起動しませんでした!!
なんじゃそら!!
これはエラーメッセージを保存し忘れたのですが、どうやら初回起動時に構築されるvenvと言うファイルがうまく動いてない模様。
旧バージョンのvenvを入れとくと起動には成功するため。
もしかしたら最新のOSでうまく動いてないとか、あるのでしょうか(実は対して詳しくないのでよくわかってません汗)
新しいMacでweb uiを立ち上げる人はOS 14.6.1だとうまく起動できないかもしれませぬ(そういう情報があればコメントお願いいたします)
そう言うわけでして、新しくインストールしたSDはゴミ箱へ。
再び旧SDへと戻しました。
さて、生成。
うむ、やはり何も生成できない。
あぁ。。。。
改善した対処法(神)
最後に辿り着いたこちらの記事で解決ゾロリでした!!!
大事だったのは、インストールしたStable Diffusion Web Uiのフォルダにあるwebui-macos-env.shと言うファイル。
これをVS codeで起動するとこんなコードになってます。
この8列目のCOMMANDLINE_ARGS="--skip-torch-cuda-test --upcast-sampling --no-half-vae --use-cpu interrogate --no-half"
となっている部分、この、末尾の--no-halfが最初のファイルにはありません。
これを追加するだけで、無事、うちのマックんのSDが復活しましたとさ!
よければコピペで置き換えてみてください。(二行になってても大丈夫ですよ)
export COMMANDLINE_ARGS="--skip-torch-cuda-test --upcast-sampling
--no-half-vae --use-cpu interrogate --no-half"
ちゃんちゃん!!
ブログ主様、ありがとうございます。
(よく考えたらmacosのためのファイルの方のCOMANDLINEを書き換えなきゃダメだよね、そうだよね。確か最初のweb uiはmac用のファイルなんてものはなくて直接webui-user.batをいじっていたはず)
MacでSDが動かなくなった人、ぜひお試しください!
おかえりSD。
この記事が参加している募集
この記事が気に入ったらサポートをしてみませんか?