このページについて
当wikiではNVIDIAのグラボ(GeForce等)推奨ですが、それ以外のグラボ(AMD Radeon、Intel Arc等)で試したい方向けへのページです。
そのようなグラボを購入検討中の方は以下のリンクを見て確実にできそうであれば購入しましょう。
RadeonでAUTOMATIC1111 stable-diffusion-webui
Radeonでもstable-diffusion-webuiが使えちまうんだ! (執筆日: 2023/2/18)
公式のインストールガイドはここ
https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki/Install-and-Run-on-AMD-GPUs
Windows
DirectMLを使うフォーク版、テスト中らしい
現状では生成速度はすこぶる遅い。RX7900XTXですらRTX3050より遅い
https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki/Install-and-Run-on-AMD-GPUs#windows
https://github.com/lshqqytiger/stable-diffusion-webui-directml
インストールするんだな!
基本の流れはローカル版導入と同じなのでそちらを参照
『4. AUTOMATIC1111版Stable Diffusion web UIをインストールする』でコマンドプロンプトを開いた画面まで進めて
git clone https://github.com/lshqqytiger/stable-diffusion-webui-directml && cd stable-diffusion-webui-directml && git submodule init && git submodule update
と入力するかコピペしてEnter。
VRAMが6GB程度の環境ではwebui-user.batのCOMMANDLINE_ARGSに --opt-sub-quad-attention --lowvram --disable-nan-check オプションを付けたほうが無難
RX6000などの最近のアーキテクチャ以外は --precision full --no-half をつけないとエラーが発生するので注意
Linux
ROCmを使って動かすやつDirectMLを使うものより高速に動く(はず)
公式のインストールガイドはここ
https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki/Install-and-Run-on-AMD-GPUs#running-natively
ネイティブに動かす方法とDocker上で動かす方法があるよ
簡単に説明しろや!(Ubuntu22.04でネイティブに動かす方法)
(注:RX6000シリーズは以下の手順で動くと思うけどRX5000、RX500他のシリーズはわからん!君の目でたしかみてみろ!)
とりあえずUbuntu22.04.1 LTSをインストールしてUbuntuのアップデートを終わらせる
その後端末(Ctrl+Alt+Tで起動できるよ)で以下のコマンドを実行
色々必要な物のインストール
sudo apt install wget git python3 python3-venv gnupg2 gawk curl
GPUにアクセスできるように権限を設定
sudo usermod -a -G render $LOGNAME
sudo usermod -a -G video $LOGNAME
RadeonドライバーインストーラースクリプトとROCmのインストール
wget https://repo.radeon.com/amdgpu-install/22.40/ubuntu/jammy/amdgpu-install_5.4.50401-1_all.deb
sudo apt install ./amdgpu-install_5.4.50401-1_all.deb
sudo apt update
sudo amdgpu-install --usecase=rocm
インストール完了後Ubuntuを再起動
stable-diffusion-webuiのリポジトリをクローン
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui
お好みのモデルをダウンロードして
stable-diffusion-webui/models/Stable-diffusion
ディレクトリに入れる
起動させる
cd stable-diffusion-webui
bash webui.sh
あとは自動で依存関係のダウンロード、インストール、環境構築が行われて起動するはず
そしてブラウザで
http://127.0.0.1:7860/
Ubuntu22.04.1 LTS RX6800で動作確認
GPUによってはwebui-user.shのCOMMANDLINE_ARGS=に--precision full --no-halfと書く必要があるかもしれない
(RX6000シリーズやRX500シリーズでは必要ないとの事)
最適化とかTIPSとかお得情報とか
起動オプション
--opt-sub-quad-attention
Sub-quadratic attention, a memory efficient Cross Attention layer optimization that can significantly reduce required memory, sometimes at a slight performance cost. Recommended if getting poor performance or failed generations with a hardware/software configuration that xformers doesn't work for. On macOS, this will also allow for generation of larger images.
DeepL翻訳:サブクアドラティックアテンションは、メモリ効率の良いクロスアテンションレイヤーの最適化で、必要なメモリを大幅に削減することができますが、時には若干のパフォーマンスコストを伴います。xformers が動作しないハードウェア/ソフトウェア構成で、パフォーマンスが低下したり、世代交代に失敗したりした場合にお勧めします。macOSでは、より大きな画像の生成も可能になります。
ラデでも使えるVRAM削減オプション
VRAM使用量が大きく削減されるが生成時間が伸びる
--upcast-sampling
なんか生成速度が上がるヤツ
opt-sub-quad-attentionと併用するといい感じ
公式のwikiのOptimizationsにのってないみたいだけどまあいいか!よろしくなあ!
詳細はこの辺
--xformers
xformersはなんかバグがあるらしくて使えない解決を待とう
SHARK
(執筆日: 2023/2/19)
MLIRで?中間表現?に変換していろんな環境で機械学習モデルを実行できるんですけど!みたいなソフトわからん…
とにかくいろんな環境でStableDiffusionできる凄いヤツ
公式のリポジトリはここロードマップはここ
開発中のソフトなんで未完成な部分も多いけど気軽にAIお絵描きを試せるよ
最近カスタムモデルにも対応した
Windows+RadeonでSHARK
AMD Software: Adrenalin Edition 23.2.1 以降のドライバが必要
公式リポジトリのリリースページからexeをダウンロードして(現在の安定版は539版)
お好きなフォルダに置いて実行するだけ
勝手にセットアップが終わってブラウザでuiが開くはず
http://localhost:8080/
初回の生成にはファイルのダウンロードや変換で時間がかかります
RADEON用 参考リンク
徒労日記 とうとうRyzen + RADEONのAMD環境にもWindowsで動くStable Diffusionがきた
・過去にRadeonのグラボで導入したとしが参考にしたブログです。
https://dolls.tokyo/howto-amd-sd-win/
Stable Diffusion Native Isekai Too
・4chanのテンプレに貼られているもの
https://rentry.org/sd-nativeisekaitoo
Stable Diffusion AMD guide
・4chanのテンプレに貼られているもの
https://rentry.org/sdamd
AyyMD Stable Diffuse v1.4 for Wangblows 10 (by anon)
・4chanのテンプレに貼られているもの
https://rentry.org/ayymd-stable-diffustion-v1_4-guide
Windows+Intel ArcでStable Diffusion (SD.Next)
本家A1111のWebUIではなく、その開発メンバーであるvladmandic氏がフォークした「SD.Next」を使う
以下の説明の大部分は、https://www.technopat.net/sosyal/konu/installing-stable-diffusion-webui-with-intel-arc-gpus.2593077/ の翻訳と補足
2024-03-13現在、WSL編に限り上記サイトの通りに進めると、画像生成をしようとするとSD.Nextが必ずクラッシュしてしまう(場合によってはWSLごと)ため、以前掲載されていたコマンドを紹介する
ネイティブ編
2023年11月以降はWSLなしで動かすのが楽になったので紹介
1.ドライバの確認
- 一部の古いドライバでは動かない。31.0.101.4952以降に更新する
2.ツールのダウンロード
- Nvidiaグラボでの手順を見ながらPython 3.10.xとGitをインストール
3.リポジトリのダウンロード
- 以下のコマンドを実行
git clone https://github.com/vladmandic/automatic
cd automatic
.\webui.bat --use-ipex
- 必要なライブラリのダウンロードが進んでいくので待つ
ここでインストール完了 あとはいつものブラウザで 127.0.0.1:7860 を開いて存分にシコる
次回以降に直接起動したい場合は
automatic\webui.bat --use-ipex
なお、初期状態ではモデルファイルが入っていないので、初回起動時に出てくるモデル候補から選んでダウンロードするか、Systemタブ→System Pathsに行ってモデルフォルダを指定する必要がある(設定適用は「Apply settings」ボタンで)
WSL編
ネイティブ版より手間はかかるが速度が2割ほど?速い
またネイティブ版でVRAM不足になるとシステムごとハングすることがあるので、WSLが安定かもしれない
1.WSLのセットアップ(セットアップ済の人は飛ばす)
- コントロールパネルやWindows検索などから「Windowsの機能の有効化または無効化」に入る
- 「Linux用Windowsサブシステム」と「仮想マシンプラットフォーム」をONにして「OK」をクリック
- 待っているとPCの再起動を求められるので再起動
- コマンドプロンプトを開いて「wsl --update」と入力して実行
- Microsoft StoreアプリからUbuntu 22.04.xをダウンロード
- WSL内でUbuntuの初期設定を済ませる
以下の作業は全てWSL内で行うこと
2. 前準備
- 以下のコマンドをコピペして実行
sudo apt-get install -y gpg-agent wget wget -qO - https://repositories.intel.com/graphics/intel-graphics.key | sudo gpg --dearmor --output /usr/share/keyrings/intel-graphics.gpg echo 'deb [arch=amd64,i386 signed-by=/usr/share/keyrings/intel-graphics.gpg] https://repositories.intel.com/graphics/ubuntu jammy arc' | sudo tee /etc/apt/sources.list.d/intel.gpu.jammy.list wget -O- https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB | gpg --dearmor | sudo tee /usr/share/keyrings/oneapi-archive-keyring.gpg > /dev/null echo "deb [signed-by=/usr/share/keyrings/oneapi-archive-keyring.gpg] https://apt.repos.intel.com/oneapi all main" | sudo tee /etc/apt/sources.list.d/oneAPI.list sudo apt update && sudo apt upgrade -y
- 続いて以下のコマンドを実行
sudo apt-get install intel-opencl-icd intel-level-zero-gpu level-zero intel-media-va-driver-non-free libmfx1 libgl-dev intel-oneapi-compiler-dpcpp-cpp intel-oneapi-mkl python3-pip python3-venv git unzip libjemalloc-dev
3. リポジトリのダウンロード
- 以下のコマンドを実行
git clone https://github.com/vladmandic/automatic cd automatic ./webui.sh --use-ipex
- 必要なライブラリのダウンロードが進んでいくので待つ
ここでインストール完了 あとはいつものブラウザで 127.0.0.1:7860 を開いて存分にシコる
次回以降に直接起動したい場合は
$HOME/automatic/webui.sh --use-ipex
なお、初期状態ではモデルファイルが入っていないので、初回起動時に出てくるモデル候補から選んでダウンロードするか、Systemタブ→System Pathsに行ってモデルフォルダを指定する必要がある(設定適用は「Apply settings」ボタンで)。
特に後者の方法では、WSL外のフォルダを指定するには、Cドライブなら「/mnt/c/」、Dドライブなら「/mnt/d/」のように書き始めること。
なんかサンプラーがA1111と違う?
初期状態では「diffusers backend」という動作モードになっているせい
最近のSD.Nextはこの開発を積極的に進めているらしく、SDXLなどの新しいモデル形式はこのdiffusers backendでないと動かない
通常のモード(original backend、A1111で使われているものと同じ)にするには、
- Systemタブ→Execution & Modelsに行く
- Execution backendを「original」にする
- 「Apply settings」ボタンを押す
- 「Restart server」ボタンで再起動
エラーが出て起動や画像生成ができない場合
以下を試す。
- SD.next起動時のコマンドから「--use-ipex」を外す
- CPU内蔵GPUを無効化する(BIOSからでもデバイスマネージャーからでも)
VRAM消費削減術
動作モードがoriginal backendになっていること前提。multidiffusionがdiffusers backendだと無効化されるため
これをやっとけば、Refine(Hires. fixに相当するやつ)で1024x1536のサイズを作ってもVRAM 6GBに収まる
- Systemタブ→↓
- 拡張機能の「multidiffusion-upscaler-for-automatic1111」(Tiled Diffusion & VAE)をインストールし、SD.Nextを再起動
- TextタブまたはImageタブに入り、「Tiled VAE」を開いてEnable Tiled VAEをON
- Encoder Tile Sizeを1024、Decoder Tile Sizeを80にする
- ※Decoderは64でもいいが、64だと512x768サイズでもTiled VAEの処理が走るので時間が伸びてしまう
- さらにFast EncoderとFast Decoderのチェックを外すと、Tiled VAEの処理時間が少し延びる代わりに更にVRAM消費が減る
- これらの設定をしたら、Systemタブ→User interfaceタブに入り、「Set new defaults」ボタンを押す
- こうすると次回以降の起動時に設定値が自動で読み込み・適用される
としあきTIPS
皆どんどん生成できてて羨ましい
俺はTI実行時のエラーで詰まってるよ(RADEON+ubuntu勢)
徐々にエラー解除していってるけどやっぱりRADEON使用だと障害は多いね・・・>>俺はTI実行時のエラーで詰まってるよ(RADEON+ubuntu勢)
>>徐々にエラー解除していってるけどやっぱりRADEON使用だと障害は多いね・・・
>TI学習したいならColab借りて学習はそっちでやったほうがいいんじゃないか?
せっかくGPU積んでるのでやっぱり使いたい・・・
という一念のもとエラーコードググったりソース見たりして頑張ってるよ
まあそっちのほうが早くね?はそれはそうだけどここまで来るともうなんか意地だね
でも諦めたらそっちに行きます・・・AMDでも画像生成はもう問題なくできるようになったんで正直そこは満足なんですが
やはりこう学習させたい欲・・・俺のrx6900xt君の16Gを余すことなく使わせたい・・・ぐぬぬやったぁ
フルアーマーサイバーパンクサイバネティック忍者ネコ娘がいい感じにできたぞちっちがう
わしはただ最も厚い装甲という呪文を追加下だけなんじゃ・・・としあきへ
AMDローカルマンより
TIの実行に成功しましたことをここに報告します
できるできるのだどこかの奇特な後続のAMDうぶんつローカルマンもいるかもしれないからTIする上での当たった壁と解決法を展開します(おま環かもだけど)
その1
・まずEmbeddingのプルダウンにptファイルが現れないんですけお!
→AUTOMATIC1111起動時の「TORCH_COMMAND=~~」の末尾に「--disable-safe-unpickle」を追加
→ptファイル読み込みできましたその2
・「RuntimeError: indices should be either on cpu or on the same device as the indexed tensor (cpu) 」とか出て実行できないんですけお!
→一旦「Ctrl+C」で停止
→cd (各としあき環境)/stable-diffusion-webui/repositories/stable-diffusion/ldm/models/diffusion
→ddpm.pyの行1030(コード内容「logvar_t = self.logvar[t].to(self.device)」)の直上に「t = t.to('cpu')」を追加
→pip uninstall torch torchvision functorch (←これやらないとddpm.py含め再コンパイルができない?と思います)
→TORCH_COMMAND='pip install torch torchvision ~~(長いので省略、末尾に--disable-safe-unpickle追加を忘れないように注意)
→TIできた
長文失礼でした
解決に一週間かかったけど甲斐はあったと信じたいねむいあっ
その2の補足
>→pip uninstall torch torchvision functorch (←これやらないとddpm.py含め再コンパイルができない?と思います)
上記はvenv環境内で実行してください
よろしくおねがいします
Mac民のレス
136 無念 Name としあき 23/04/08(土)00:27:59 ID:GFDcp6e2 No.1084514204 del +
macOSのMochi Diffusionというのを試してみたところGPUとNeural Engine使えるので1111使うより速かった
画像サイズ変更とかそういうのがまだ実装されてないけど
新情報、検証報告など
(Tips)
https://g-pc.info/archives/36136/ -- 2024-03-14 (木) 23:01:22
SD.Nextの更新、WSLのモジュールの更新、それともArcドライバの更新のどれか見当もつかん。急にVRAM効率が悪化してしまった。 -- 2024-03-13 (水) 01:01:20
ところでTiled VAEのFast EncoderとFast Decoderを無効にしたら、さらにVRAM消費が減ることも判明。それ以外はVRAM消費削減術の通りにして、結果4.9GB。Decoder Tile Sizeを96にしても、5.3GBで済んだ。 -- 木主? 2024-03-13 (水) 21:20:27
SDXLの1024x1024は15秒ほど、Lightning Loraの8ステップで6秒ほどでした。(A750) -- 2024-03-24 (日) 17:57:21
普段はVRAM消費削減術を使いながら、512x768を2.5倍にRefine(1280x1920)して出力しているが、それでもVRAMにはまだ余裕がある(6.2GB消費)んだがなあ。 -- 2024-03-24 (日) 09:28:34
https://github.com/Nuullll/intel-extension-for-pytorch -- 2024-04-05 (金) 13:41:54
https://github.com/likelovewant/stable-diffusion-webui-forge-on-amd -- 2024-04-19 (金) 13:30:14
https://github.com/ROCm/ROCm/releases/tag/rocm-6.1.0 -- 2024-04-24 (水) 10:23:36
https://github.com/comfyanonymous/ComfyUI/discussions/3283 -- 2024-04-25 (木) 09:37:54