SakeTami
sxela
sxela

patreon


Stable WarpFusion v0.25 - AnimateDiff

Had so much fun playing with AnimateDiff that I can't help but bring it into Warp.

Local install: https://github.com/Sxela/WarpFusion#local-installation-guide-for-windows-venv

Please note that the notebook has its default values set up for AnimateDiff.
Also keep in mind that it is a bit more memory intensive with ControlNets at the moment, so 1-2 is more than enough. Also, I'd recommend disabling normalize_controlnet_weights, as it seems to be too strong. Just set 1-2 controlnets with values at 0.5 as a starting point, and disable normalize_controlnet_weights.

Changelog:

add some warp features to animatediff:

21.10.2023, v0.25.4:

27.10.2023, v0.25.5:

30.10.2023, v0.25.6:

31.10.2023:

23.12.2023:

Features

This is a very raw edition, some warp features like color matching or masking are not implemented yet for AnimateDiff mode, but core features are here:

Also cleaned up the run loop a lot. Plan to transfer that back onto the main loop.

Not implemented yet:

Some stuff may never be implemented for AnimateDiff mode, as it may be useless. I have a lot of experiments to run with existing warp features, and new AnimateDiff-specific ones, but this will be too much code change for a single update, need your help field testing the AnimateDiff core first.

AnimateDiff

define SD + K functions, load model -> model_version -> control_multi_animatediff

To activate it, switch model_version to control_multi_animatediff
v1_animatediff is there as well, but it's not that interesting.
It will download mm_sd_v15_v2.ckpt file and put it into {root_dir}/animatediff/models/Motion_Module/

So if you have it already on your disk, you can put it there to avoid extra downloads.

Settings

AnimateDiff renders frames in batches. The batch is rendered at once, each diffusion step being spread across all the frames. So you will have to wait until the batch finishes to get a preview and output.

batch_length

Number of frames to process in 1 batch.
No one is stopping you from putting the whole frame sequence in a single huge batch, though you can get OOM at some large values. Produces the smoothest results.

overlap_stylized

If you have more than 1 batch, you can use previously rendered frames that are overlapping across adjacent batches, as inits. So with an overlap of 4, you will have 4 stylized frames as init and the rest will be raw frames.

context_overlap

When batch_length is larger than context_length, we slide the context across all the frames. This smoothes the transition and allows processing batches larger than context_length.

context_length

AnimateDiff context length. This is one of the core settings. It determines how many frames the model is looking at at the same time. 16 is a good default value. The problem is that we can't set it too low or too high, as it will produce artifacts or intense flickering, because the model was trained on a different length. I'd suggest staying within 12-24 range.

I'd suggest leaving these as is for starters:

blend_batch_outputs

Blend overlapping frames between batches.

batch_overlap

If you have more than one batch, makes sense to overlap them to smooth out the transition

looped_noise

When doing vid2vid with style strength < 1, noise is added on top of input frames. It is random per frame, but you can loop it so it will repeat with a period of context_length

Move installers to GitHub repo

I've decided to move installer scripts to GitHub after Colab's env update borked everything twice in a row. For now, it affects versions 0.25, 0.24, 0.23, and 0.20, but I plan to convert 0.22 and 0.21 as well.
I do hope it will at least make fixes easily distributed to you, without the need to download a new version or apply manual fixes if you have unsubscribed.

Local install guide:
https://github.com/Sxela/WarpFusion/blob/main/README.md

Guides made by users:

YouTube playlist with settings:
https://www.youtube.com/watch?v=wvvcWm4Snmc&list=PL2cEnissQhlCUgjnGrdvYMwUaDkGemLGq

For tech support and other questions please join our discord server:
https://discord.gg/YrpJRgVcax

Discord is the preferred method because it is nearly impossible to provide any decent help or tech support via Patreon due to its limited text formatting and inability to add screenshots or videos to comments or DMs.
Error reports in comments will be deleted and reposted in Discord.

Stable WarpFusion v0.25 - AnimateDiff

Comments

Man, you are the best. Just when I was starting to play with animatediff, and you brought it here. I just want to play with it. Thanks Alex, a lot. Greetings from Chile

Avamys Furoato

Try changing sampler

Warpfusion

getting this error - IndexError: pop from empty list

jeff dean

turn reference controlnet off and restart

Warpfusion

when using "use_reference", got this error: h = torch.cat([h, hs.pop() + control.pop()], dim=1) RuntimeError: Sizes of tensors must match except in dimension 1. Expected size 24 but got size 23 for tensor number 1 in the list.

旺 杜

wrong post

Warpfusion

fix the comfyui warp!!!

Quinn

woop!

INFINITE VIBES

There are a few comfyui animatediff nodes available, if that's what you mean

Warpfusion

any chance of getting this to work in comfy?

papua

letsgoo

Yvann

LFG!

Syntax Diffusion

can't wait to play with this

Tommie Geraedts

damn.

James

what a lovely surprise. my two favorite toys coming together!

Ronny Khalil


More Creators