5700GでStable Diffusionするぞ!
2022年ぶりか!
ということで技術ネタを自分用に書いておく。
Stable Diffusionという画像をAIで書かせるソフトがあるんだけど、結構お高いNVIDIAのGPUを使うのが定番らしい。
一応CPUでも動かせるけど、くっそ遅い。
画像生成の為だけにGPU買うのもなあー。と思っていたら、自分の使っているAMDの5700Gでもそこそこの速さで動くそうな。
正月あたりから検証しまくって、動作環境の構築手順を確定できたので記録に残しておこう!というのが今回のネタです。
以下、手順。
1.Python 3.10.6をインストール。
https://www.python.org/downloads/release/python-3106/
から「Windows installer (64-bit)」をインスコする。
インスコ画面で「Add Python 3.10 to PATH」にチェックをつけたら「Install Now」する。
バージョンは 3.10.6 厳守。
2.gitのインストール。
https://git-scm.com/download/win
から「64-bit Git for Windows Setup」をインスコする。
gitのバージョンは適当でOK。
世の開発者さんは既にgitがインストール済みであれば、ご自身の git.exe のパスをメモ帳にコピーしておく。(※1)
(c:\soft\git\git.exe 等)
3.stable-diffusion-webui-directml をコピーする。
「stable-diffusion-webui」ではなく「stable-diffusion-webui-directml」な!
cmdでコマンドプロンクトを開いて、
git clone https://github.com/lshqqytiger/stable-diffusion-webui-directml.git
する。
先頭のgitは※1の文字に置換する。
例:
c:\soft\git\git.exe clone https://github.com/lshqqytiger/stable-diffusion-webui-directml.git
4.webui-user.bat の編集その1。
エクスプローラで「%HOMEPATH%\stable-diffusion-webui-directml」を開いて、
その中にある「webui-user.bat」を変更する。
変更前
@echo off set PYTHON= set GIT= set VENV_DIR= set COMMANDLINE_ARGS= call webui.bat
変更後
@echo off set PYTHON= set GIT=(※1)のパス。 set VENV_DIR= set COMMANDLINE_ARGS=--use-cpu all --skip-torch-cuda-test --precision full --no-half call webui.bat
5.webui-user.bat の実行その1。
「webui-user.bat」をダブルクリックする。
処理の最後に4GBの超巨大ファイルがダウンロードされるので、気長に待つ。
かなーり待たされて、ブラウザが例のページを開いたら成功。
6.初生成!
上の大きな入力欄(prompt)に、「orange tabby cat」と入力し、オレンジ色の「Generate」ボタンを押す。
すると、またまたかなーり待たされて茶トラのねこ画像が生成されるはず。
生成中は暇なので、タスクマネージャーを見るなり、youtubeでも見てればいいと思うよ!
タスクマネージャーのCPU使用率がほぼ100%に張り付いているはず。
待った結果、茶トラの画像が出てきたらここまでの手順は問題ない!という確認になる。
7.黒い窓を閉じる。
8.directmlモードに切り替える準備。
先程の画像生成は実はGPUではなく、CPUを使って行われたもの。
今度はGPUを使った動作に切り替えていく。
9.torch-directml の手動インスコ。
ここが一番めんどい!
cmdで黒い画面を立ち上げて、
%HOMEPATH%\stable-diffusion-webui-directml\venv\Scripts\activate.bat
を貼り付けて、ENTERキーを押す。
すると、こんなかんじで左側に(venv)と表示しているウインドウに切り替わるはず。
切り替わったら
pip install torch-directml
を貼り付けて、ENTERキーを押す。
文字がガーッと出るのでしばらく放置する。
左側が(venv)に変わったらインストールが終わった証拠なので、黒い画面を閉じる。
10.webui-user.bat の編集その2。
さっきいじった「webui-user.bat」をもう一度開いて、COMMANDLINE_ARGS の行を変更する。
変更前
set COMMANDLINE_ARGS=--use-cpu all --skip-torch-cuda-test --precision full --no-half
変更後
set COMMANDLINE_ARGS=--use-directml
11.webui-user.bat の実行その2。
「webui-user.bat」をダブルクリックする。
今度は10秒くらいで例のページが開かれるはず。
12.GPUで画像生成。
先程と同じ手順でpromptに、「orange tabby cat」と入力し、オレンジ色の「Generate」ボタンを押す。
すると、今度はそこそこ早い時間で茶トラのねこ画像が生成されます。
生成中のタスクマネージャーを見ると、しっかりGPUが動いていることが確認できるはずです。
13.好きに使え。
promptの文字をいじったり、モデルを追加でインストールしたりして好みの画像を作ってみてください。
俺環境(5700G × RAM 3200MHz 48GB)で試した場合、
CPUで画像生成すると4分、GPUで画像生成すると1分でした。
ちなみに、Stable Diffusion入門用と言われているRTX 3060 12GBを使って画像生成した場合は3秒で生成できるそうです。早すぎぃ!!!
まあそんな感じで俺はStable Diffusionをブログのサムネイルに使いたいと思っています。
ではではー。
ディスカッション
コメント一覧
まだ、コメントがありません