概要
前回 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 が起動します
画像生成をしたい場合は
モデルをダウンロードし配置すれば普通に画像生成 (txt2img) もできます
以下は SDXL モデルをダウンロードし配置する手順です
- https://huggingface.co/stabilityai/stable-diffusion-xl-base-0.9/blob/main/sd_xl_base_0.9.safetensors にログインし同意しダウンロードする
-
mv ~/Downloads/sd_xl_base_0.9.safetens models/Stable-diffusion
モデルが配置できたら 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 件のコメント:
コメントを投稿