AMD GPU で AI 絵を生成してみよう
準備
AUTOMATIC1111 の公式では AMD GPU は利用できない。
AMD GPU 用には、派生となっている DirectML 版を利用する必要がある。
まずは必要なアプリを入れる必要がある。
上記のページの Automatic Installation on Windows に書かれている通りで大丈夫。
Python 3.10.6 のインストール
C:\Users\(name)>python --version
"Python 3.10.6" となったら成功だ。
Git のインストール
stable-diffusion-webui-directml の取得
C:\Users\(name)>
ここで Git を用いて取得する。下記コマンドをコピペしてエンターを押すと取得できる。
C:\Users\(name)>git clone https://github.com/lshqqytiger/stable-diffusion-webui-directml.git
エラーなどが出ずに取得できたら、コマンドプロンプトは閉じてOK。
何かエラーが起きたら、python のバージョンや
Git がうまくインストールできていない可能性がある。
stable-diffusion-webui-directml の設定
C:\Users\(name)\stable-diffusion-webui-directml
@echo offset PYTHON=set GIT=set VENV_DIR=set COMMANDLINE_ARGS=call webui.bat
ここの、"COMMANDLINE_ARGS="の横に、"--use-directml"を追記する。
@echo offset PYTHON=set GIT=set VENV_DIR=set COMMANDLINE_ARGS=--use-directmlcall webui.bat
"COMMANDLINE_ARGS" は様々なオプションを設定できるパラメータになるので、
今後も追記する可能性がある。
追記したら開いているテキストエディタを閉じてもOK。
"webui-user.bat"をダブルクリックで起動する。
初回起動時は、色々ダウンロードや設定がされるため、少し時間が掛かるので待とう。
エラーが起こらなければ、AUTOMATIC1111 がブラウザ上で起動される。
生成してみる(ハローアスカベンチマーク)
うまく起動したら早速生成してみよう。
ここでは AMD GPU の性能を見つつ生成できるかどうかを見るために、ハローアスカベンチマーク をやってみる。
設定は上記リンクを参考にした。
筆者のPC環境は以下のようになる。
- CPU: Intel(R) Core(TM) i5-12400F
- RAM: 32GB
- GPU: Radeon RX 6600 XT
COMMANDLINE_ARGS=--use-directml --update-all-extensions --medvram --opt-sub-quad-attention --opt-split-attention --no-half --upcast-sampling --update-check
結果は以下の通り。(画像は省略する)
100%| ... 28/28 [00:44<00:00, 1.59s/it]
100%| ... 28/28 [00:41<00:00, 1.50s/it]
100%| ... 28/28 [00:42<00:00, 1.52s/it]
100%| ... 28/28 [00:41<00:00, 1.49s/it]
100%| ... 28/28 [00:41<00:00, 1.49s/it]
100%| ... 28/28 [00:40<00:00, 1.46s/it]
100%| ... 28/28 [00:41<00:00, 1.49s/it]
100%| ... 28/28 [00:41<00:00, 1.50s/it]
100%| ... 28/28 [00:41<00:00, 1.48s/it]
100%| ... 28/28 [00:42<00:00, 1.52s/it]
Total progress: 100%| ... 280/280 [07:21<00:00, 1.58s/it]
Total progress: 100%| ... 280/280 [07:21<00:00, 1.52s/it]
検索していないが、GeForece と比べると、遅いのだろう...。
でも生成はできたので良き。
トラブルシューティング
何かしたらエラーが起こった場合、そのエラーをコピペしておく。
そして、stable-diffusion-webui-directml で検索してみることをお勧めする。
普通のネット検索でも解決する可能性はあるが、
- 情報が古い
- 環境が違う
RuntimeError: Could not allocate tensor with XXXXXXX bytes. There is not enough GPU video memory available!
COMMANDLINE_ARGS=--use-directml --update-all-extensions --medvram --opt-sub-quad-attention --opt-split-attention --no-half --upcast-sampling --update-check

0 件のコメント:
コメントを投稿