注意
Stable Diffusion Direct MLをGPUを使わないで使用する方法をこの記事で紹介していますが、下の記事を参照してStable Diffusion Forgeを使用することをお勧めします。
やりたいこと
通常Stable DiffusionはNvidiaのGPU(GeForceなど)が必要です。
ここではNVidiaのGPUが載っていないPCでCPUだけを用いてStable Diffusionを動作させる方法を紹介します。
環境構築
Pythonのインストール
Python 3.10.6を以下のページからダウンロードしてインストールします。


インストールの際は以下の”Add Python 3.10 to PATH”にチェック入れます。

インストールの確認
コマンドプロンプトを起動して以下のコマンドを実行します
python3 –version
正しく実行できれば成功です。(私の環境ではPythonと表示されました。)
Pythonのバージョンは固定されています。
3.10.6は記事作成時に指定されていたバージョンです。
詳細は以下のページを参照してください。
gitのインストール
gitを以下のページからダウンロードしてインストールします。
インストールの確認
コマンドプロンプトを起動して以下のコマンドを実行します
git
正しく実行できれば成功です。(ヘルプが表示されます)
stable-diffusion-webui-directml
Clone
stable-diffusion-webui-directmlを取得します。
stable-diffusion-webui-directmlをインストールするフォルダを作成します。
コマンドプロンプトを起動して作成してフォルダに移動し以下のコマンドを実行します。
git clone https://github.com/lshqqytiger/stable-diffusion-webui-directml
処理が完了し、インストールフォルダにファイルが作成されていれば成功です。
webui-user.batの実行
インストールフォルダにwebui-user.batが作成されるのでエクスプローラからダブルクリックで実行します。
実行直後に以下のエラーが表示された場合(処理は続きます)は表示されるgit config~のコマンドを実行します。

また処理が以下のエラーで終了すると思います。

エラーが表示された場合はwebui-user.batをメモ帳などで開きCOMMANDLINE_ARGSの行を以下のように変更します。
set COMMANDLINE_ARGS=--skip-torch-cuda-test
上記の変更を保存して再度webui-user.batをエクスプローラから実行します。
実行時にgit config~を行うように表示された場合は指定されたコマンドを実行した後に再度webui-user.batをエクスプローラから実行します。(何度か繰り返します。)

上記のエラーが表示された場合は新しくコマンドプロンプトを起動して以下のコマンドを実行します。
pip install gradio
すでに開いているコマンドプロンプトを使用すると環境変数が更新されていないことがあるので、新しく開いたほうが無難です。
以下のようにブラウザにGUIが表示されれば完了です。

実行時エラーの対応
実行時に”RuntimeError: Input type (float) and bias type (struct c10::Half) should be the same”というエラーが表示された場合は、webui-user.batファイルを開きCOMMANDLINE_ARGSを以下のように修正します。(–no-halfを追加)
set COMMANDLINE_ARGS=--skip-torch-cuda-test --no-half
修正後にwebui-user.batを再度実行します。
結果
表示されたGUIにプロンプトを入力しGenerateをクリックすることで、画像を作成することができました。

参考にさせていただいたサイト

コメント