やりたいこと
通常Stable DiffusionはNvidiaのGPU(GeForceなど)が必要です。
下のページではCPUで動作する環境を作成しましたが、この記事ではAMDのGPUで動作する環境を作成します。
オンボードのGPUでも作成時間が短くなりました。
環境構築
Pythonとgitをインストールします。
詳細は以下の記事の環境構築を参照してください。
stable-diffusion-webui-amdgpu
Clone
stable-diffusion-webui-amdgpuを取得します。
stable-diffusion-webui-amdgpuをインストールするフォルダを作成します。
コマンドプロンプトを起動して作成してフォルダに移動し以下のコマンドを実行します。
git clone https://github.com/lshqqytiger/stable-diffusion-webui-directml
処理が完了し、インストールフォルダにファイルが作成されていれば成功です。
webui-user.batの実行
インストールフォルダにwebui-user.batが作成されるのでエクスプローラからダブルクリックで実行します。
実行直後に以下のエラーが表示された場合(処理は続きます)は表示されるgit config~のコマンドを実行します。
また処理が以下のエラーで終了すると思います。
上記のエラーを確認したらコマンドプロンプトを起動してインストールフォルダに移動後に以下のコマンドを実行します。
cd venv\Scripts
activate.bat
上記のコマンドを実行するとコマンドプロンプトの先頭に (venv) とつくようになります。
pip install torch_directml
使用する可能性があるので上記のコマンドを実行したコマンドプロンプトは終了しないでください。
コマンドの処理が完成あとにwebui-user.batを開きCOMMANDLINE_ARGSの行を以下のように変更します。(activate.batあとに設定した環境を使用する引数です。)
set COMMANDLINE_ARGS=--use-directml
webui-user.batをエクスプローラから実行します。
実行時にgit config~を行うように表示された場合は指定されたコマンドを実行した後に再度webui-user.batをエクスプローラから実行します。(何度か繰り返します。)
上記のエラーが表示された場合はactivate.batを実行したコマンドプロンプトで以下のコマンドを実行します。
pip install gradio
以下のようにブラウザにGUIが表示されれば完了です。
実行時エラーの対応
RuntimeError: Input type (float) and bias type (struct c10::Half) should be the same
実行時に”RuntimeError: Input type (float) and bias type (struct c10::Half) should be the same”というエラーが表示された場合は、webui-user.batファイルを開きCOMMANDLINE_ARGSを以下のように修正します。(–no-halfを追加)
set COMMANDLINE_ARGS=--use-directml --no-half
修正後にwebui-user.batを再度実行します。
メモリ不足
メモリ(VRAM)不足のエラーが表示された場合、webui-user.batファイルを開きCOMMANDLINE_ARGSを以下のように修正します。(–medvramを追加)
set COMMANDLINE_ARGS=--use-directml --no-half --medvram
–medvram変更後のRuntimeエラー
–medvram変更後にRuntimeエラーが表示された場合、webui-user.batファイルを開きCOMMANDLINE_ARGSを以下のように修正します。(–medvramを–lowvramに変更)
set COMMANDLINE_ARGS=--use-directml --no-half --medvram
結果
表示されたGUIにプロンプトを入力しGenerateをクリックすることで、画像を作成することができました。
CPUで実行した際との画像作成時間は以下の通りです。
* GPUで実行する際は最適化のためにCOMMANDLINE_ARGSは–use-directml –no-half –opt-sub-quad-attention –upcast-sampling –lowvramに設定しています。
作成時間 | |
CPU | 04:22 |
GPU(本記事) | 01:03 |
オンボード(VRAM 2Gbyte)のPCでもCPUで実行するよりも4倍ほどのスピードが出るようになりました。
コメント