AnimateDiff icon indicating copy to clipboard operation
AnimateDiff copied to clipboard

AnimateDiff v2 runs fine, v3 throws error (MotionWrapper state_dict / enable_gn_hack errors)

Open x5nder opened this issue 10 months ago • 0 comments

Automatic1111 v1.9.3-amd (ZLUDA) / epicrealism_naturalsin SD1.5 checkpoint.

AnimateDiff with mm_sd15_v2.safetensors works fine

AnimateDiff with mm_sd15_v3.safetensors throws this error:

*** Error running before_process: C:\StableDiffusion\stable-diffusion-webui-directml\extensions\sd-webui-animatediff\scripts\animatediff.py
    Traceback (most recent call last):
      File "C:\StableDiffusion\stable-diffusion-webui-directml\modules\scripts.py", line 817, in before_process
        script.before_process(p, *script_args)
      File "C:\StableDiffusion\stable-diffusion-webui-directml\extensions\sd-webui-animatediff\scripts\animatediff.py", line 64, in before_process
        motion_module.inject(p.sd_model, params.model)
      File "C:\StableDiffusion\stable-diffusion-webui-directml\extensions\sd-webui-animatediff\scripts\animatediff_mm.py", line 68, in inject
        self.load(model_name)
      File "C:\StableDiffusion\stable-diffusion-webui-directml\extensions\sd-webui-animatediff\scripts\animatediff_mm.py", line 52, in load
        self.mm.load_state_dict(mm_state_dict)
      File "C:\StableDiffusion\stable-diffusion-webui-directml\venv\lib\site-packages\torch\nn\modules\module.py", line 2153, in load_state_dict
        raise RuntimeError('Error(s) in loading state_dict for {}:\n\t{}'.format(
    RuntimeError: Error(s) in loading state_dict for MotionWrapper:
        size mismatch for down_blocks.0.motion_modules.0.temporal_transformer.transformer_blocks.0.attention_blocks.0.pos_encoder.pe: copying a param with shape torch.Size([1, 32, 320]) from checkpoint, the shape in current model is torch.Size([1, 24, 320]).
        [...etc]

AnimateDiff with mm_sd15_v3.safetensors and lora:mm_sd15_v3_adapter:1 in prompt throws this error:

*** Error running before_process: C:\StableDiffusion\stable-diffusion-webui-directml\extensions\sd-webui-animatediff\scripts\animatediff.py
    Traceback (most recent call last):
      File "C:\StableDiffusion\stable-diffusion-webui-directml\modules\scripts.py", line 817, in before_process
        script.before_process(p, *script_args)
      File "C:\StableDiffusion\stable-diffusion-webui-directml\extensions\sd-webui-animatediff\scripts\animatediff.py", line 64, in before_process
        motion_module.inject(p.sd_model, params.model)
      File "C:\StableDiffusion\stable-diffusion-webui-directml\extensions\sd-webui-animatediff\scripts\animatediff_mm.py", line 76, in inject
        elif self.mm.enable_gn_hack():
      File "C:\StableDiffusion\stable-diffusion-webui-directml\venv\lib\site-packages\torch\nn\modules\module.py", line 1688, in __getattr__
        raise AttributeError(f"'{type(self).__name__}' object has no attribute '{name}'")
    AttributeError: 'MotionWrapper' object has no attribute 'enable_gn_hack'

AnimateDiff with mm_sdxl_v10_beta.safetensors and an SDXL model throws the same 'enable_gn_hack' error as above.

Any ideas/suggestions?

x5nder avatar Apr 25 '24 12:04 x5nder