Animate-Diffで自分のDreamBoothモデルで動画生成してみた
StableDiffusionベースの動画生成アルゴリズムの中で一番すごい感じがするのがAnimate-Diff。
もとの動画生成の性能もすごいのだが、自分のモデルで動画生成できると聞いてやってみずにはいられなくなり、やってみた。
ただし、罠があるので注意
このAnimate-Diffは、diffusersが0.11.1でないと動かない(エラーなどが出る)そして、Dreamboothしたモデルのckptを直接渡すとエラーが出てうまく動かない。
ソースコードを読んで見て、解決策はckptではなくsafetensorsを使うことだとわかった。
そこで、PythonのREPLで変換する
>>> import torch
>>> from safetensors import safe_open
>>> from safetensors.torch import save_file
>>> x = torch.load("shi3z.ckpt")
>>> save_file(x['state_dict'],"shi3z.safetensors")
これでshi3z.ckptからshi3z.safetensorsに変換できた。
あとはこれをベースにyamlを書ければできあがりだ。
アニメーションを作る速度がめちゃくちゃ速い(1分程度)ので、けっこう衝撃的である。