Diffusion Single File
comfyui

ltx pruna vae doesnt work.

#73
by pheonis - opened

ltx pruna vae doesnt work in comfyui. Getting size mismatch error.

Just update ComfyUI and your custom nodes, and it will work perfectly.

Yes it needs latest ComfyUI commits.

I just did full update of comfy (0.29.0) as well as kjnodes (1.4.8) and LTXVideo (nightly) and all the other ones that are updatable, and when I use the Pruna VAE, I get these errors:

[INFO] got prompt
[ERROR] !!! Exception during processing !!! Error(s) in loading state_dict for VideoVAE:
size mismatch for decoder.conv_in.conv.weight: copying a param with shape torch.Size([1024, 128, 3, 3, 3]) from checkpoint, the shape in current model is torch.Size([2048, 128, 3, 3, 3]).
size mismatch for decoder.conv_in.conv.bias: copying a param with shape torch.Size([1024]) from checkpoint, the shape in current model is torch.Size([2048]).
size mismatch for decoder.up_blocks.0.res_blocks.0.conv1.conv.weight: copying a param with shape torch.Size([1024, 1024, 3, 3, 3]) from checkpoint, the shape in current model is torch.Size([2048, 2048, 3, 3, 3]).
size mismatch for decoder.up_blocks.0.res_blocks.0.conv1.conv.bias: copying a param with shape torch.Size([1024]) from checkpoint, the shape in current model is torch.Size([2048]).
size mismatch for decoder.up_blocks.0.res_blocks.0.conv2.conv.weight: copying a param with shape torch.Size([1024, 1024, 3, 3, 3]) from checkpoint, the shape in current model is torch.Size([2048, 2048, 3, 3, 3]).
size mismatch for decoder.up_blocks.0.res_blocks.0.conv2.conv.bias: copying a param with shape torch.Size([1024]) from checkpoint, the shape in current model is torch.Size([2048]).
size mismatch for decoder.up_blocks.0.res_blocks.1.conv1.conv.weight: copying a param with shape torch.Size([1024, 1024, 3, 3, 3]) from checkpoint, the shape in current model is torch.Size([2048, 2048, 3, 3, 3]).
size mismatch for decoder.up_blocks.0.res_blocks.1.conv1.conv.bias: copying a param with shape torch.Size([1024]) from checkpoint, the shape in current model is torch.Size([2048]).
size mismatch for decoder.up_blocks.0.res_blocks.1.conv2.conv.weight: copying a param with shape torch.Size([1024, 1024, 3, 3, 3]) from checkpoint, the shape in current model is torch.Size([2048, 2048, 3, 3, 3]).
size mismatch for decoder.up_blocks.0.res_blocks.1.conv2.conv.bias: copying a param with shape torch.Size([1024]) from checkpoint, the shape in current model is torch.Size([2048]).
size mismatch for decoder.up_blocks.1.conv.conv.weight: copying a param with shape torch.Size([4096, 1024, 3, 3, 3]) from checkpoint, the shape in current model is torch.Size([8192, 2048, 3, 3, 3]).
size mismatch for decoder.up_blocks.1.conv.conv.bias: copying a param with shape torch.Size([4096]) from checkpoint, the shape in current model is torch.Size([8192]).
size mismatch for decoder.up_blocks.2.res_blocks.0.conv1.conv.weight: copying a param with shape torch.Size([512, 512, 3, 3, 3]) from checkpoint, the shape in current model is torch.Size([1024, 1024, 3, 3, 3]).
size mismatch for decoder.up_blocks.2.res_blocks.0.conv1.conv.bias: copying a param with shape torch.Size([512]) from checkpoint, the shape in current model is torch.Size([1024]).
size mismatch for decoder.up_blocks.2.res_blocks.0.conv2.conv.weight: copying a param with shape torch.Size([512, 512, 3, 3, 3]) from checkpoint, the shape in current model is torch.Size([1024, 1024, 3, 3, 3]).
size mismatch for decoder.up_blocks.2.res_blocks.0.conv2.conv.bias: copying a param with shape torch.Size([512]) from checkpoint, the shape in current model is torch.Size([1024]).
size mismatch for decoder.up_blocks.2.res_blocks.1.conv1.conv.weight: copying a param with shape torch.Size([512, 512, 3, 3, 3]) from checkpoint, the shape in current model is torch.Size([1024, 1024, 3, 3, 3]).
size mismatch for decoder.up_blocks.2.res_blocks.1.conv1.conv.bias: copying a param with shape torch.Size([512]) from checkpoint, the shape in current model is torch.Size([1024]).
size mismatch for decoder.up_blocks.2.res_blocks.1.conv2.conv.weight: copying a param with shape torch.Size([512, 512, 3, 3, 3]) from checkpoint, the shape in current model is torch.Size([1024, 1024, 3, 3, 3]).
size mismatch for decoder.up_blocks.2.res_blocks.1.conv2.conv.bias: copying a param with shape torch.Size([512]) from checkpoint, the shape in current model is torch.Size([1024]).
size mismatch for decoder.up_blocks.3.conv1.conv.weight: copying a param with shape torch.Size([384, 512, 3, 3, 3]) from checkpoint, the shape in current model is torch.Size([512, 1024, 3, 3, 3]).
size mismatch for decoder.up_blocks.3.conv1.conv.bias: copying a param with shape torch.Size([384]) from checkpoint, the shape in current model is torch.Size([512]).
size mismatch for decoder.up_blocks.3.conv2.conv.weight: copying a param with shape torch.Size([384, 384, 3, 3, 3]) from checkpoint, the shape in current model is torch.Size([512, 512, 3, 3, 3]).
size mismatch for decoder.up_blocks.3.conv2.conv.bias: copying a param with shape torch.Size([384]) from checkpoint, the shape in current model is torch.Size([512]).
size mismatch for decoder.up_blocks.3.conv_shortcut.weight: copying a param with shape torch.Size([384, 512, 1, 1, 1]) from checkpoint, the shape in current model is torch.Size([512, 1024, 1, 1, 1]).
size mismatch for decoder.up_blocks.3.conv_shortcut.bias: copying a param with shape torch.Size([384]) from checkpoint, the shape in current model is torch.Size([512]).
size mismatch for decoder.up_blocks.3.norm3.norm.weight: copying a param with shape torch.Size([512]) from checkpoint, the shape in current model is torch.Size([1024]).
size mismatch for decoder.up_blocks.3.norm3.norm.bias: copying a param with shape torch.Size([512]) from checkpoint, the shape in current model is torch.Size([1024]).
size mismatch for decoder.up_blocks.4.conv.conv.weight: copying a param with shape torch.Size([3072, 384, 3, 3, 3]) from checkpoint, the shape in current model is torch.Size([4096, 512, 3, 3, 3]).
size mismatch for decoder.up_blocks.4.conv.conv.bias: copying a param with shape torch.Size([3072]) from checkpoint, the shape in current model is torch.Size([4096]).
size mismatch for decoder.up_blocks.5.res_blocks.0.conv1.conv.weight: copying a param with shape torch.Size([384, 384, 3, 3, 3]) from checkpoint, the shape in current model is torch.Size([512, 512, 3, 3, 3]).
size mismatch for decoder.up_blocks.5.res_blocks.0.conv1.conv.bias: copying a param with shape torch.Size([384]) from checkpoint, the shape in current model is torch.Size([512]).
size mismatch for decoder.up_blocks.5.res_blocks.0.conv2.conv.weight: copying a param with shape torch.Size([384, 384, 3, 3, 3]) from checkpoint, the shape in current model is torch.Size([512, 512, 3, 3, 3]).
size mismatch for decoder.up_blocks.5.res_blocks.0.conv2.conv.bias: copying a param with shape torch.Size([384]) from checkpoint, the shape in current model is torch.Size([512]).
size mismatch for decoder.up_blocks.5.res_blocks.1.conv1.conv.weight: copying a param with shape torch.Size([384, 384, 3, 3, 3]) from checkpoint, the shape in current model is torch.Size([512, 512, 3, 3, 3]).
size mismatch for decoder.up_blocks.5.res_blocks.1.conv1.conv.bias: copying a param with shape torch.Size([384]) from checkpoint, the shape in current model is torch.Size([512]).
size mismatch for decoder.up_blocks.5.res_blocks.1.conv2.conv.weight: copying a param with shape torch.Size([384, 384, 3, 3, 3]) from checkpoint, the shape in current model is torch.Size([512, 512, 3, 3, 3]).
size mismatch for decoder.up_blocks.5.res_blocks.1.conv2.conv.bias: copying a param with shape torch.Size([384]) from checkpoint, the shape in current model is torch.Size([512]).
size mismatch for decoder.up_blocks.5.res_blocks.2.conv1.conv.weight: copying a param with shape torch.Size([384, 384, 3, 3, 3]) from checkpoint, the shape in current model is torch.Size([512, 512, 3, 3, 3]).
size mismatch for decoder.up_blocks.5.res_blocks.2.conv1.conv.bias: copying a param with shape torch.Size([384]) from checkpoint, the shape in current model is torch.Size([512]).
size mismatch for decoder.up_blocks.5.res_blocks.2.conv2.conv.weight: copying a param with shape torch.Size([384, 384, 3, 3, 3]) from checkpoint, the shape in current model is torch.Size([512, 512, 3, 3, 3]).
size mismatch for decoder.up_blocks.5.res_blocks.2.conv2.conv.bias: copying a param with shape torch.Size([384]) from checkpoint, the shape in current model is torch.Size([512]).
size mismatch for decoder.up_blocks.5.res_blocks.3.conv1.conv.weight: copying a param with shape torch.Size([384, 384, 3, 3, 3]) from checkpoint, the shape in current model is torch.Size([512, 512, 3, 3, 3]).
size mismatch for decoder.up_blocks.5.res_blocks.3.conv1.conv.bias: copying a param with shape torch.Size([384]) from checkpoint, the shape in current model is torch.Size([512]).
size mismatch for decoder.up_blocks.5.res_blocks.3.conv2.conv.weight: copying a param with shape torch.Size([384, 384, 3, 3, 3]) from checkpoint, the shape in current model is torch.Size([512, 512, 3, 3, 3]).
size mismatch for decoder.up_blocks.5.res_blocks.3.conv2.conv.bias: copying a param with shape torch.Size([384]) from checkpoint, the shape in current model is torch.Size([512]).
size mismatch for decoder.up_blocks.6.conv1.conv.weight: copying a param with shape torch.Size([256, 384, 3, 3, 3]) from checkpoint, the shape in current model is torch.Size([256, 512, 3, 3, 3]).
size mismatch for decoder.up_blocks.6.conv_shortcut.weight: copying a param with shape torch.Size([256, 384, 1, 1, 1]) from checkpoint, the shape in current model is torch.Size([256, 512, 1, 1, 1]).
size mismatch for decoder.up_blocks.6.norm3.norm.weight: copying a param with shape torch.Size([384]) from checkpoint, the shape in current model is torch.Size([512]).
size mismatch for decoder.up_blocks.6.norm3.norm.bias: copying a param with shape torch.Size([384]) from checkpoint, the shape in current model is torch.Size([512]).
[ERROR] Traceback (most recent call last):
File "/Users/mike/ComfyUI-Installs/ComfyUI/ComfyUI/execution.py", line 543, in execute
output_data, output_ui, has_subgraph, has_pending_tasks = await get_output_data(prompt_id, unique_id, obj, input_data_all, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/mike/ComfyUI-Installs/ComfyUI/ComfyUI/execution.py", line 342, in get_output_data
return_values = await _async_map_node_over_list(prompt_id, unique_id, obj, input_data_all, obj.FUNCTION, allow_interrupt=True, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb, v3_data=v3_data)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/mike/ComfyUI-Installs/ComfyUI/ComfyUI/execution.py", line 316, in _async_map_node_over_list
await process_inputs(input_dict, i)
File "/Users/mike/ComfyUI-Installs/ComfyUI/ComfyUI/execution.py", line 304, in process_inputs
result = f(**inputs)
^^^^^^^^^^^
File "/Users/mike/Documents/ComfyUI/custom_nodes/comfyui-kjnodes/nodes/nodes.py", line 2425, in load_vae
vae = VAE(sd=sd, device=device, dtype=dtype, metadata=metadata)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/mike/ComfyUI-Installs/ComfyUI/ComfyUI/comfy/sd.py", line 973, in init
m, u = self.first_stage_model.load_state_dict(sd, strict=False, assign=self.patcher.is_dynamic())
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/mike/Documents/ComfyUI/.venv/lib/python3.12/site-packages/torch/nn/modules/module.py", line 2638, in load_state_dict
raise RuntimeError(
RuntimeError: Error(s) in loading state_dict for VideoVAE:
size mismatch for decoder.conv_in.conv.weight: copying a param with shape torch.Size([1024, 128, 3, 3, 3]) from checkpoint, the shape in current model is torch.Size([2048, 128, 3, 3, 3]).
size mismatch for decoder.conv_in.conv.bias: copying a param with shape torch.Size([1024]) from checkpoint, the shape in current model is torch.Size([2048]).
size mismatch for decoder.up_blocks.0.res_blocks.0.conv1.conv.weight: copying a param with shape torch.Size([1024, 1024, 3, 3, 3]) from checkpoint, the shape in current model is torch.Size([2048, 2048, 3, 3, 3]).
size mismatch for decoder.up_blocks.0.res_blocks.0.conv1.conv.bias: copying a param with shape torch.Size([1024]) from checkpoint, the shape in current model is torch.Size([2048]).
size mismatch for decoder.up_blocks.0.res_blocks.0.conv2.conv.weight: copying a param with shape torch.Size([1024, 1024, 3, 3, 3]) from checkpoint, the shape in current model is torch.Size([2048, 2048, 3, 3, 3]).
size mismatch for decoder.up_blocks.0.res_blocks.0.conv2.conv.bias: copying a param with shape torch.Size([1024]) from checkpoint, the shape in current model is torch.Size([2048]).
size mismatch for decoder.up_blocks.0.res_blocks.1.conv1.conv.weight: copying a param with shape torch.Size([1024, 1024, 3, 3, 3]) from checkpoint, the shape in current model is torch.Size([2048, 2048, 3, 3, 3]).
size mismatch for decoder.up_blocks.0.res_blocks.1.conv1.conv.bias: copying a param with shape torch.Size([1024]) from checkpoint, the shape in current model is torch.Size([2048]).
size mismatch for decoder.up_blocks.0.res_blocks.1.conv2.conv.weight: copying a param with shape torch.Size([1024, 1024, 3, 3, 3]) from checkpoint, the shape in current model is torch.Size([2048, 2048, 3, 3, 3]).
size mismatch for decoder.up_blocks.0.res_blocks.1.conv2.conv.bias: copying a param with shape torch.Size([1024]) from checkpoint, the shape in current model is torch.Size([2048]).
size mismatch for decoder.up_blocks.1.conv.conv.weight: copying a param with shape torch.Size([4096, 1024, 3, 3, 3]) from checkpoint, the shape in current model is torch.Size([8192, 2048, 3, 3, 3]).
size mismatch for decoder.up_blocks.1.conv.conv.bias: copying a param with shape torch.Size([4096]) from checkpoint, the shape in current model is torch.Size([8192]).
size mismatch for decoder.up_blocks.2.res_blocks.0.conv1.conv.weight: copying a param with shape torch.Size([512, 512, 3, 3, 3]) from checkpoint, the shape in current model is torch.Size([1024, 1024, 3, 3, 3]).
size mismatch for decoder.up_blocks.2.res_blocks.0.conv1.conv.bias: copying a param with shape torch.Size([512]) from checkpoint, the shape in current model is torch.Size([1024]).
size mismatch for decoder.up_blocks.2.res_blocks.0.conv2.conv.weight: copying a param with shape torch.Size([512, 512, 3, 3, 3]) from checkpoint, the shape in current model is torch.Size([1024, 1024, 3, 3, 3]).
size mismatch for decoder.up_blocks.2.res_blocks.0.conv2.conv.bias: copying a param with shape torch.Size([512]) from checkpoint, the shape in current model is torch.Size([1024]).
size mismatch for decoder.up_blocks.2.res_blocks.1.conv1.conv.weight: copying a param with shape torch.Size([512, 512, 3, 3, 3]) from checkpoint, the shape in current model is torch.Size([1024, 1024, 3, 3, 3]).
size mismatch for decoder.up_blocks.2.res_blocks.1.conv1.conv.bias: copying a param with shape torch.Size([512]) from checkpoint, the shape in current model is torch.Size([1024]).
size mismatch for decoder.up_blocks.2.res_blocks.1.conv2.conv.weight: copying a param with shape torch.Size([512, 512, 3, 3, 3]) from checkpoint, the shape in current model is torch.Size([1024, 1024, 3, 3, 3]).
size mismatch for decoder.up_blocks.2.res_blocks.1.conv2.conv.bias: copying a param with shape torch.Size([512]) from checkpoint, the shape in current model is torch.Size([1024]).
size mismatch for decoder.up_blocks.3.conv1.conv.weight: copying a param with shape torch.Size([384, 512, 3, 3, 3]) from checkpoint, the shape in current model is torch.Size([512, 1024, 3, 3, 3]).
size mismatch for decoder.up_blocks.3.conv1.conv.bias: copying a param with shape torch.Size([384]) from checkpoint, the shape in current model is torch.Size([512]).
size mismatch for decoder.up_blocks.3.conv2.conv.weight: copying a param with shape torch.Size([384, 384, 3, 3, 3]) from checkpoint, the shape in current model is torch.Size([512, 512, 3, 3, 3]).
size mismatch for decoder.up_blocks.3.conv2.conv.bias: copying a param with shape torch.Size([384]) from checkpoint, the shape in current model is torch.Size([512]).
size mismatch for decoder.up_blocks.3.conv_shortcut.weight: copying a param with shape torch.Size([384, 512, 1, 1, 1]) from checkpoint, the shape in current model is torch.Size([512, 1024, 1, 1, 1]).
size mismatch for decoder.up_blocks.3.conv_shortcut.bias: copying a param with shape torch.Size([384]) from checkpoint, the shape in current model is torch.Size([512]).
size mismatch for decoder.up_blocks.3.norm3.norm.weight: copying a param with shape torch.Size([512]) from checkpoint, the shape in current model is torch.Size([1024]).
size mismatch for decoder.up_blocks.3.norm3.norm.bias: copying a param with shape torch.Size([512]) from checkpoint, the shape in current model is torch.Size([1024]).
size mismatch for decoder.up_blocks.4.conv.conv.weight: copying a param with shape torch.Size([3072, 384, 3, 3, 3]) from checkpoint, the shape in current model is torch.Size([4096, 512, 3, 3, 3]).
size mismatch for decoder.up_blocks.4.conv.conv.bias: copying a param with shape torch.Size([3072]) from checkpoint, the shape in current model is torch.Size([4096]).
size mismatch for decoder.up_blocks.5.res_blocks.0.conv1.conv.weight: copying a param with shape torch.Size([384, 384, 3, 3, 3]) from checkpoint, the shape in current model is torch.Size([512, 512, 3, 3, 3]).
size mismatch for decoder.up_blocks.5.res_blocks.0.conv1.conv.bias: copying a param with shape torch.Size([384]) from checkpoint, the shape in current model is torch.Size([512]).
size mismatch for decoder.up_blocks.5.res_blocks.0.conv2.conv.weight: copying a param with shape torch.Size([384, 384, 3, 3, 3]) from checkpoint, the shape in current model is torch.Size([512, 512, 3, 3, 3]).
size mismatch for decoder.up_blocks.5.res_blocks.0.conv2.conv.bias: copying a param with shape torch.Size([384]) from checkpoint, the shape in current model is torch.Size([512]).
size mismatch for decoder.up_blocks.5.res_blocks.1.conv1.conv.weight: copying a param with shape torch.Size([384, 384, 3, 3, 3]) from checkpoint, the shape in current model is torch.Size([512, 512, 3, 3, 3]).
size mismatch for decoder.up_blocks.5.res_blocks.1.conv1.conv.bias: copying a param with shape torch.Size([384]) from checkpoint, the shape in current model is torch.Size([512]).
size mismatch for decoder.up_blocks.5.res_blocks.1.conv2.conv.weight: copying a param with shape torch.Size([384, 384, 3, 3, 3]) from checkpoint, the shape in current model is torch.Size([512, 512, 3, 3, 3]).
size mismatch for decoder.up_blocks.5.res_blocks.1.conv2.conv.bias: copying a param with shape torch.Size([384]) from checkpoint, the shape in current model is torch.Size([512]).
size mismatch for decoder.up_blocks.5.res_blocks.2.conv1.conv.weight: copying a param with shape torch.Size([384, 384, 3, 3, 3]) from checkpoint, the shape in current model is torch.Size([512, 512, 3, 3, 3]).
size mismatch for decoder.up_blocks.5.res_blocks.2.conv1.conv.bias: copying a param with shape torch.Size([384]) from checkpoint, the shape in current model is torch.Size([512]).
size mismatch for decoder.up_blocks.5.res_blocks.2.conv2.conv.weight: copying a param with shape torch.Size([384, 384, 3, 3, 3]) from checkpoint, the shape in current model is torch.Size([512, 512, 3, 3, 3]).
size mismatch for decoder.up_blocks.5.res_blocks.2.conv2.conv.bias: copying a param with shape torch.Size([384]) from checkpoint, the shape in current model is torch.Size([512]).
size mismatch for decoder.up_blocks.5.res_blocks.3.conv1.conv.weight: copying a param with shape torch.Size([384, 384, 3, 3, 3]) from checkpoint, the shape in current model is torch.Size([512, 512, 3, 3, 3]).
size mismatch for decoder.up_blocks.5.res_blocks.3.conv1.conv.bias: copying a param with shape torch.Size([384]) from checkpoint, the shape in current model is torch.Size([512]).
size mismatch for decoder.up_blocks.5.res_blocks.3.conv2.conv.weight: copying a param with shape torch.Size([384, 384, 3, 3, 3]) from checkpoint, the shape in current model is torch.Size([512, 512, 3, 3, 3]).
size mismatch for decoder.up_blocks.5.res_blocks.3.conv2.conv.bias: copying a param with shape torch.Size([384]) from checkpoint, the shape in current model is torch.Size([512]).
size mismatch for decoder.up_blocks.6.conv1.conv.weight: copying a param with shape torch.Size([256, 384, 3, 3, 3]) from checkpoint, the shape in current model is torch.Size([256, 512, 3, 3, 3]).
size mismatch for decoder.up_blocks.6.conv_shortcut.weight: copying a param with shape torch.Size([256, 384, 1, 1, 1]) from checkpoint, the shape in current model is torch.Size([256, 512, 1, 1, 1]).
size mismatch for decoder.up_blocks.6.norm3.norm.weight: copying a param with shape torch.Size([384]) from checkpoint, the shape in current model is torch.Size([512]).
size mismatch for decoder.up_blocks.6.norm3.norm.bias: copying a param with shape torch.Size([384]) from checkpoint, the shape in current model is torch.Size([512]).

It needs latest commit, it isn't in any numbered ComfyUI version yet: https://github.com/Comfy-Org/ComfyUI/commit/c38171ddb93368ee6a6bbc677b92e4b50cead865

I pulled the latest off main, and still get the same problem. I am on a Mac if it makes a difference.
Screenshot 2026-07-29 at 1.01.03 PM

Sign up or log in to comment