見出し画像

WSL2でTrailBlazerを試してみる

「追加のモデル トレーニング、微調整、オンライン最適化を行わずに、事前トレーニングされたモデルを使用したテキストからビデオへの拡散ベースのビデオ編集を特徴とする」らしいTrailBlazerのGradio版が公開されましたので、試してみます。

使用する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 trailblazer
cd $_
source bin/activate

リポジトリをクローンします。

git clone https://github.com/hohonu-vicml/Trailblazer
cd Trailblazer

パッケージのインストールです。
requirements.txtがないので、必要なものを指定するスタイルです。

pip install torch transformers accelerate gradio diffusers==0.21.4 einops opencv-python

モデルやらのダウンロード

とりあえず、カレントディレクトリにダウンロードします。

git clone https://huggingface.co/cerspense/zeroscope_v2_576w ./cerspense/zeroscope_v2_576w

私たちの現在の作業は、ZeroScope (cerspense/zeroscope_v2_576w) モデルに基づいています。 ZeroScope モデルのコンテキストで一般的に認識されるプロンプトを使用することをお勧めします。

Trailblazer - a Hugging Face Space by hohonu-vicml より

指定されているモデルは https://huggingface.co/cerspense/zeroscope_v2_576w 。
このモデルは「1111 text2video の vid2vid を使用して、zeroscope_v2_XL でアップスケーリングするために特別に設計」したものらしいです。

あと、GitHubのリポジトリには .mp4ファイルがcommitされていませんので、Hugging Faceから拝借してきます。

wget -P assets/gradio https://huggingface.co/spaces/hohonu-vicml/Trailblazer/resolve/main/assets/gradio/Cat2Dog.mp4
wget -P assets/gradio https://huggingface.co/spaces/hohonu-vicml/Trailblazer/resolve/main/assets/gradio/cat-LRLR.mp4
wget -P assets/gradio https://huggingface.co/spaces/hohonu-vicml/Trailblazer/resolve/main/assets/gradio/fish-RL.mp4
wget -P assets/gradio https://huggingface.co/spaces/hohonu-vicml/Trailblazer/resolve/main/assets/gradio/fish-TL2BR.mp4
wget -P assets/gradio https://huggingface.co/spaces/hohonu-vicml/Trailblazer/resolve/main/assets/gradio/tiger-TL2BR.mp4

※ファイルを配置していないとgradioを起動するときにエラーとなるためです。

2. 試してみる

コマンド実行します。引数の「./」はモデルのトップディレクトリを意味しています。

python -m bin.CmdGradio ./

起動しました。

Mainタブにある入力項目に対するヒントは、こちら。

ヒント: 各キーフレームは、プロンプト、フレーム インデックス、および対応する bbox に関連付けられています。 bbox は、正規化された比率で bbox の 4 つの隅 (左、上、右、下) を決定する 4 つの float のタプルです。 単語プロンプト インデックスは、プロンプト内の単語を示す 1 からなるインデックス値です。 複数の値を区切るには COMMA を使用することに注意してください。

生成してみる

ネコが左に右に走るサンプルのプロンプトで生成したのがこちら。

こちらは別のネコ。

VRAMの推移

生成自体は35秒ほどで終わりました。

100%|██ (snip) ██| 40/40 [00:35<00:00,  1.14steps/s]

このときのVRAMは11.8GB程度。だがしかし…。

11.9GB

動画ファイルへの書き込み処理?時に 31.4GBへ。vramが溢れました。

31.4GB!

3. まとめ

RTX 4090(24GB)でも溢れてしまいました…。書き出すまでは2分半ほどなのでいいきかしら。

この記事が気に入ったらサポートをしてみませんか?