code: def __init__(
      self,
      channels: int,
      emb_channels: int,
      dropout: float,
      video_kernel_size: Union[int, List[int]] = 3,
      merge_strategy: str = "fixed",
      merge_factor: float = 0.5,
      out_channels: Optional[int] = None,
      use_conv: bool = False,
      use_scale_shift_norm: bool = False,
      dims: int = 2,
      use_checkpoint: bool = False,
      up: bool = False,
      down: bool = False,
  ):
      super().__init__(
          channels,
          emb_channels,
          dropout,
          out_channels=out_channels,
          use_conv=use_conv,
          use_scale_shift_norm=use_scale_shift_norm,
          dims=dims,
          use_checkpoint=use_checkpoint,
          up=up,
          down=down,
      )
  
      self.time_stack = ResBlock(
          default(out_channels, channels),
          emb_channels,
          dropout=dropout,
          dims=3,
          out_channels=default(out_channels, channels),
          use_scale_shift_norm=False,
          use_conv=False,
          up=False,
          down=False,
          kernel_size=video_kernel_size,
          use_checkpoint=use_checkpoint,
          exchange_temb_dims=True,
      )
      self.time_mixer = AlphaBlender(
          alpha=merge_factor,
          merge_strategy=merge_strategy,
          rearrange_pattern="b t -> b 1 t 1 1",
      )
  
file_path: generative-models/sgm/modules/diffusionmodules/video_model.py
imports: from functools import partial
  from typing import List, Optional, Union
  from einops import rearrange
  from ...modules.diffusionmodules.openaimodel import *
  from ...modules.video_attention import SpatialVideoTransformer
  from ...util import default
  from .util import AlphaBlender
label_desc: Use image node_id 1 to create a new VideoResBlock object from inherited base classes: ResBlock with example: obj = VideoResBlock(channels, emb_channels, dropout, video_kernel_size, merge_strategy, merge_factor, out_channels, use_conv, use_scale_shift_norm, dims, use_checkpoint, up, down)