2025年4月24日木曜日

stable-diffusion-webui-forge を Mac にインストールする

stable-diffusion-webui-forge を Mac にインストールする

概要

前回 SVD を generative-models で試そうとしましたが CUDA 環境が必須だったので動作させることができませんでした
今回は stable-diffusion-webui-forge をインストールしてみます forge の場合 SVD を動かせる環境があるようなので試してみます

環境

  • macOS 15.4.1 (M2 Pro Mac mini)
  • Python 3.10.12
  • stable-diffusion-webui-forge f2.0.1v1.10.1-previous-659-gc055f2d4

stable-diffusion-webui-forge のインストール

  • git clone https://github.com/lllyasviel/stable-diffusion-webui-forge.git
  • cd stable-diffusion-webui-forge
  • pyenv local 3.10.12
  • ./webui.sh

これで必要なライブラリのインストールが始まり UI が起動します

http://127.0.0.1:7860/

画像生成をしたい場合は

モデルをダウンロードし配置すれば普通に画像生成 (txt2img) もできます
以下は SDXL モデルをダウンロードし配置する手順です

モデルが配置できたら UI をリロードしてトップにあるモデルを選択するプルダウンからモデルを選択すれば OK です
あとは適当にプロンプトに入れて Generate しましょう

SVD を使うための準備

どうやら stable-diffusion-webui-forge の最新バージョンには SVD がないようなので手動でインストールします
Python ファイルをダウンロードし所定のパスに配置します

  • wget 'https://github.com/user-attachments/files/16835270/svd.zip'
  • unzip svd.zip
  • cp ~/Downloads/svd/forge_util.py ~/Documents/work/stable-diffusion-webui-forge/modules_forge
  • cp ~/Downloads/svd/stream.py ~/Documents/work/stable-diffusion-webui-forge/modules_forge
  • cp -ipr ~/Downloads/svd/sd_forge_svd ~/Documents/work/stable-diffusion-webui-forge/extensions/
  • ./webui.sh

これで再度起動すると SVD タブが表示されているのが確認できると思います

モデルのダウンロード

https://huggingface.co/stabilityai/stable-video-diffusion-img2vid-xt/blob/main/svd_xt.safetensors をダウンロードし models/svd に配置しましょう

  • mv ~/Downloads/svd_xt.safetensors ~/Documents/work/stable-diffusion-webui-forge/models/svd

SVD 実行

準備完了です
あとは動画にしたい画像を配置してモデルを選択し一番下にある Generate をクリックします

ちなみにできあがった2秒動画は以下です

これが

上下にしか動いてないですが一応動きました
ところどころブロックノイズっぽいのはパラメータをチューニングすれば変わるのかもしれません

生成までにかかる時間

自分は約2秒の動画作るのに約1時間かかりました
M2 Pro の力でそれくらいなので GPU がいい CUDA 環境であればもっとサクサク作成できるのではと思います

デフォルトだと 1024x576 と解像度が大きいのでこれをもっと下げれば速くなると思います
(512x288 にすれば数分で終わるのでそっちのほうがオススメかもです)
このあたりのパラメータチューニングでも速度をあげられると思います

ただ元画像のサイズと出力動画のサイズが変わるとうまく動画にならないケースがあるのでできれば入力と出力のサイズは同じがいいのかもしれません

トラブルシューティング

RuntimeError: MPS backend out of memory (MPS allocated: 14.61 GB, other allocations: 3.03 GB, max allowed: 18.13 GB). Tried to allocate 630.00 MB on private pool. Use PYTORCH_MPS_HIGH_WATERMARK_RATIO=0.0 to disable upper limit for memory allocations (may cause system failure).

デフォルトだと使用するメモリに制限があるのでメモリの制限をしないようにして起動すれば OK です

  • PYTORCH_MPS_HIGH_WATERMARK_RATIO=0 ./webui.sh

最後に

stable-diffusion-webui-forge で SVD をしてみました
SVD は image -> video はできますが text -> video はまだできないようです

1つの動画を作成するのにかなりの時間がかかるのでもっと長い動画や解像度の高い動画、複数の動画を作成したい場合はかなりのマシンスペックと時間が必要かなと思います

参考サイト

0 件のコメント:

コメントを投稿