環境
Ubuntu 22.04 on WSL2 CUDA 11.8 Python 3.10
Python環境構築
pip install torch==2.0.1+cu118 torchvision==0.15.2+cu118 --index-url https://download.pytorch.org/whl/cu118 git clone https://github.com/williamyang1991/Rerender_A_Video cd Rerender_A_Video git submodule update --init --recursive pip install -r requirements.txt
インストールとモデルのダウンロード
python install.py
これだけと書いてありますがWSL2環境でそのまま実行するとエラーが出ます。
build-linux-cpu+cuda.sh: line 2: nvcc: command not found Failed to install Ebsynth.
「Rerender_A_Video/deps/ebsynth/build-linux-cpu+cuda.sh」を以下のように書き換えました。
修正前
#!/bin/sh nvcc -arch compute_50 src/ebsynth.cpp src/ebsynth_cpu.cpp src/ebsynth_cuda.cu -I"include" -DNDEBUG -D__CORRECT_ISO_CPP11_MATH_H_PROTO -O6 -std=c++11 -w -Xcompiler -fopenmp -o bin/ebsynth
修正後
#!/bin/sh /usr/local/cuda/bin/nvcc -arch compute_50 src/ebsynth.cpp src/ebsynth_cpu.cpp src/ebsynth_cuda.cu -I"include" -DNDEBUG -D__CORRECT_ISO_CPP11_MATH_H_PROTO -O6 -std=c++11 -w -Xcompiler -fopenmp -o bin/ebsynth
nvccにパスが通っていないだけなのでアドレスを追加しました。
動画生成
configファイルの作成
サンプルが用意されているのでほぼそのまま使わせてもらいました。{ "input": "videos/pexels-antoni-shkraba-8048492-540x960-25fps.mp4", "output": "videos/realisticVisionV51_v51VAE_all_frames_trim/blend.mp4", "work_dir": "videos/realisticVisionV51_v51VAE_all_frames_trim", "key_subdir": "keys", "sd_model": "models/realisticVisionV51_v51VAE.safetensors", "frame_count": 353, "interval": 10, "crop": [ 0, 0, 0, 380 ], "prompt": "a handsome man in van gogh painting", "a_prompt": "best quality, extremely detailed", "n_prompt": "longbody, lowres, bad anatomy, bad hands, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality", "x0_strength": 1.05, "control_type": "canny", "canny_low": 50, "canny_high": 100, "control_strength": 0.7, "seed": 0, "warp_period": [ 0, 0.1 ], "ada_period": [ 0.8, 1 ], "freeu_args": [ 1.1, 1.2, 1.0, 0.2 ], "image_resolution": 512, "use_limit_device_resolution": true, "loose_cfattn": true }
「realisticVisionV51_v51VAE.safetensors」はCIVITAIから手動でダウンロードしました。
実行
python rerender.py --cfg config/van_gogh_man.json
設定はすべてconfigファイルに記述しているので実行はこれだけです。
結果
動画はGoogle Bloggerに載せています。
support-touchsp.blogspot.com
追記
Diffusersから使えるようになったのでその記事を書きました。touch-sp.hatenablog.com