やりたいこと
CUDAの動作するローカルPC(Windows)にStableDiffusionの環境を構築します。
背景
このブログではAMDのGPUを使用してStableDiffusionが動作させるなどの茨の道を歩んでいますが、CUDAの動作するPCに環境のは簡単です。しかしなぜか他のページでは少しめんどくさい方法をとっています(gitとかPythonをインストールしたり)。
ここではできるだけ簡単な方法を紹介します。
CUDAの動作しない環境向けの記事
AMD GPU(DirectML)
CPU
環境構築
ダウンロード
以下のページを開きます。
ページをスクロールして installing Forgeの欄を探し、recommnededになっているバイナリをクリックしてダウンロードします。

展開
任意のフォルダにダウンロードしたzipファイルを展開します。
モデルのインストール
stable-diffusion-webui-forgeは初期ではモデルのインストールがされていないようです。
以下の記事を参考にモデルをインストールします。
実行
展開したフォルダに内にあるrun.batを実行します。
実行時に以下のエラーが表示された場合(処理は続きます)は表示されるgit config~のコマンドを実行します。このエラーは繰り返し表示されることがあります。再度表示された場合は同様にコマンドを実行してください。(引数のフォルダパスが変わっているはずです。)

以下のようにブラウザが起動してGUIが表示されれば成功です。

結果
表示されたGUIにプロンプトを入力しGenerateをクリックすることで、画像を作成することができました。
TroubleShooting
ドライバのバージョンが異なる
ドライバのバージョンが異なる(もしくはインストールされていない)エラーが出たら以下のページから正しいバージョンのドライバをインストールしてください。

実行時エラー(Input type (float) and bias type (struct c10::Half) should be the same)
画像生成時にInput type (float) and bias type (struct c10::Half) should be the sameのエラーが表示された場合は以下の対応を行います。
インストールフォルダ\webuiにwebui-user.batが保存されていますので開きます。
以下の行を探して修正し、StableDiffusionを再起動します。
Before:
set COMMANDLINE_ARGS=
After:
set COMMANDLINE_ARGS=--no-half
実行時エラー(メモリ)
GUIが表示され画像生成で失敗する場合は、メモリ(VRAM)不足の可能性が高いです。(メモリ関連のエラーメッセージでなくてもメモリの問題のことがあります。)
以下の改善方法を試してください。
生成画像を小さくする
生成画像のWidthとHeightを小さくしてください。
ただしあまりに小さいとまともな画像が生成されません。(512x512より小さくはしない方がいいです)
起動オプションの修正
インストールフォルダ\webuiにwebui-user.batが保存されていますので開きます。
以下の行を探して修正し、StableDiffusionを再起動します。
Before:
set COMMANDLINE_ARGS=
After:
set COMMANDLINE_ARGS=--lowvram
コメント