![見出し画像](https://assets.st-note.com/production/uploads/images/135709233/rectangle_large_type_2_be41341b3f26506bdb01419c20e234e3.png?width=1200)
WSL2でAniPortraitを試してみる
「音声と参照ポートレート画像によって駆動される高品質のアニメーションを生成するための新しいフレームワーク」らしいAniPortraitを試してみます。
使用するPCはドスパラさんの「GALLERIA UL9C-R49」。スペックは
・CPU: Intel® Core™ i9-13900HX Processor
・Mem: 64 GB
・GPU: NVIDIA® GeForce RTX™ 4090 Laptop GPU(16GB)・GPU: NVIDIA® GeForce RTX™ 4090 (24GB)
・OS: Ubuntu22.04 on WSL2(Windows 11)
です。
1. 準備
環境構築
python3 -m venv aniportrait
cd $_
source bin/activate
リポジトリをクローン
git clone https://github.com/Zejun-Yang/AniPortrait
cd AniPortrait
パッケージのインストール
pip install -r requirements.txt
モデルのダウンロード
pythonコマンドを起動して流し込みます。保存先のディレクトリ(local_dir)は./configs/prompts/animation.yaml 記載のパスに合わせています。
from huggingface_hub import snapshot_download
# AniPortrait
REPO_ID="ZJYang/AniPortrait"
snapshot_download(
repo_id=REPO_ID,
revision="main",
local_dir="./pretrained_model",
local_dir_use_symlinks=True
)
# sd-vae-ft-ema
REPO_ID="stabilityai/sd-voe-ft-ema"
snapshot_download(
repo_id=REPO_ID,
revision="main",
local_dir="./pretrained_model/sd-vae-ft-mse",
local_dir_use_symlinks=True
)
# SD v1.5
REPO_ID="runwayml/stable-diffusion-v1-5"
snapshot_download(
repo_id=REPO_ID,
revision="main",
local_dir="./pretrained_model/stable-diffusion-v1-5",
local_dir_use_symlinks=True
)
# image_encoder
from huggingface_hub import snapshot_download
REPO_ID="lambdalabs/sd-image-variations-diffusers"
snapshot_download(
repo_id=REPO_ID,
revision="main",
local_dir="./pretrained_model/image_encoder",
local_dir_use_symlinks=True
)
2. 試してみる
ポーズを動画へ
python -m scripts.pose2vid --config ./configs/prompts/animation.yaml -W 512 -H 512
OSメモリが32GBだとOOM Killerが発動したため、49GBに変更してじっしています。以下のように、44.2GBぐらい使用しています。
top - 15:44:36 up 52 min, 1 user, load average: 2.28, 1.27, 1.09
Tasks: 47 total, 2 running, 45 sleeping, 0 stopped, 0 zombie
%Cpu(s): 4.2 us, 44.3 sy, 0.0 ni, 50.9 id, 0.5 wa, 0.0 hi, 0.1 si, 0.0 st
MiB Mem : 49181.9 total, 270.9 free, 45443.7 used, 3467.4 buff/cache
MiB Swap: 13312.0 total, 13159.2 free, 152.8 used. 3111.3 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1789 shoji_n+ 20 0 142.9g 44.2g 673540 R 1483 92.0 59:38.11 python
490 root 20 0 2171960 79876 23928 S 0.0 0.2 0:02.92 python3.10
vramは、13.1GB程度。ですので16GBあれば動きますね。
![](https://assets.st-note.com/img/1711870359809-tnhSJ6ss3O.png)
とおもいきや、18.4GB消費でした。
![](https://assets.st-note.com/img/1711872724145-3dwaKfAJn0.png)
そして、コマンド実行から48分後。生成された動画がこちら。
AniPortraitを試している。
— NOGUCHI, Shoji (@noguchis) March 31, 2024
いつものようにWSL2で試しているのだが、Mem32GBだとOOM killerでpythonプロセスが落ちる。
Mem49GBにしたらpose2vidは無事に生成。vramは11.7GBほどで、生成時間はこの動画(尺1分)で48分ほど。(RTX 4090(24GB)使用時)https://t.co/ZTNHLgpmrV pic.twitter.com/LvlBErfPFj
4. まとめ
リソース
・vramは13.1GB消費なので、16GBは必要。
・vramは18.3GB消費なので、24GBは必要
・OSメモリは32GBだと足りず、45GB以上ないと厳しそう
(49GB割当では落ちませんでした)
所要時間
・RTX 4090(24GB)で、48分かかりました。