![見出し画像](https://assets.st-note.com/production/uploads/images/132340141/rectangle_large_type_2_9fa88145d531ee848e07e19afbea9c3b.png?width=1200)
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 モデルのコンテキストで一般的に認識されるプロンプトを使用することをお勧めします。
指定されているモデルは 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 ./
起動しました。
![](https://assets.st-note.com/img/1709106388942-iTL0LSuXkp.png?width=1200)
Mainタブにある入力項目に対するヒントは、こちら。
ヒント: 各キーフレームは、プロンプト、フレーム インデックス、および対応する bbox に関連付けられています。 bbox は、正規化された比率で bbox の 4 つの隅 (左、上、右、下) を決定する 4 つの float のタプルです。 単語プロンプト インデックスは、プロンプト内の単語を示す 1 からなるインデックス値です。 複数の値を区切るには COMMA を使用することに注意してください。
生成してみる
ネコが左に右に走るサンプルのプロンプトで生成したのがこちら。
TrailBlazerをためしている。https://t.co/OYiLTvIUi5
— NOGUCHI, Shoji (@noguchis) February 28, 2024
生成自体は35秒程度なのだが、書き出し処理?時にvram溢れてしまっていて2分ほどかかる(計2分半ほど)。
DynamiCrafterでも似たようなことが起きていたけれども、回避策あるかしら。調べてみよう。 pic.twitter.com/uOpJEA6W1R
こちらは別のネコ。
catではなく別のネコで試して生成された動画。 pic.twitter.com/6VO8x9GDRo
— NOGUCHI, Shoji (@noguchis) February 28, 2024
VRAMの推移
生成自体は35秒ほどで終わりました。
100%|██ (snip) ██| 40/40 [00:35<00:00, 1.14steps/s]
このときのVRAMは11.8GB程度。だがしかし…。
![](https://assets.st-note.com/img/1709108120824-J0j1ktDzwA.png)
動画ファイルへの書き込み処理?時に 31.4GBへ。vramが溢れました。
![](https://assets.st-note.com/img/1709108098415-o54tJEFyPr.png)
3. まとめ
RTX 4090(24GB)でも溢れてしまいました…。書き出すまでは2分半ほどなのでいいきかしら。