class_docstr: Fuses the information from the Fast pathway to the Slow pathway. Given the
  tensors from Slow pathway and Fast pathway, fuse information from Fast to
  Slow, then return the fused tensors from Slow and Fast pathway in order.
class_docstr_tok: ["Fuses","the","information","from","the","Fast","pathway","to","the","Slow","pathway",".","Given","the","tensors","from","Slow","pathway","and","Fast","pathway",",","fuse","information","from","Fast","to","Slow",",","then","return","the","fused","tensors","from","Slow","and","Fast","pathway","in","order","."]
docstr: Args:
      dim_in (int): the channel dimension of the input.
      fusion_conv_channel_ratio (int): channel ratio for the convolution
          used to fuse from Fast pathway to Slow pathway.
      fusion_kernel (int): kernel size of the convolution used to fuse
          from Fast pathway to Slow pathway.
      alpha (int): the frame rate ratio between the Fast and Slow pathway.
      eps (float): epsilon for batch norm.
      bn_mmt (float): momentum for batch norm. Noted that BN momentum in
          PyTorch = 1 - BN momentum in Caffe2.
      inplace_relu (bool): if True, calculate the relu on the original
          input without allocating new memory.
      norm_module (nn.Module): nn.Module for the normalization layer. The
          default is nn.BatchNorm3d.
code: def __init__(
      self,
      dim_in,
      fusion_conv_channel_ratio,
      fusion_kernel,
      alpha,
      eps=1e-5,
      bn_mmt=0.1,
      inplace_relu=True,
      norm_module=nn.BatchNorm3d,
  ):
      """
      Args:
          dim_in (int): the channel dimension of the input.
          fusion_conv_channel_ratio (int): channel ratio for the convolution
              used to fuse from Fast pathway to Slow pathway.
          fusion_kernel (int): kernel size of the convolution used to fuse
              from Fast pathway to Slow pathway.
          alpha (int): the frame rate ratio between the Fast and Slow pathway.
          eps (float): epsilon for batch norm.
          bn_mmt (float): momentum for batch norm. Noted that BN momentum in
              PyTorch = 1 - BN momentum in Caffe2.
          inplace_relu (bool): if True, calculate the relu on the original
              input without allocating new memory.
          norm_module (nn.Module): nn.Module for the normalization layer. The
              default is nn.BatchNorm3d.
      """
      super(FuseFastToSlow, self).__init__()
      self.conv_f2s = nn.Conv3d(
          dim_in,
          dim_in * fusion_conv_channel_ratio,
          kernel_size=[fusion_kernel, 1, 1],
          stride=[alpha, 1, 1],
          padding=[fusion_kernel // 2, 0, 0],
          bias=False,
      )
      self.bn = norm_module(
          num_features=dim_in * fusion_conv_channel_ratio,
          eps=eps,
          momentum=bn_mmt,
      )
      self.relu = nn.ReLU(inplace_relu)
  
imports: import math
  from functools import partial
  import torch
  import torch.nn
  import torch.nn.functional
  from torch.nn.init import trunc_normal_
  import slowfast.utils.logging
  import slowfast.utils.weight_init_helper
  from slowfast.models.attention import MultiScaleBlock
  from slowfast.models.batchnorm_helper import get_norm
  from slowfast.models.common import TwoStreamFusion
  from slowfast.models.reversible_mvit import ReversibleMViT
  from slowfast.models.utils import calc_mvit_feature_geometry, get_3d_sincos_pos_embed, round_width, validate_checkpoint_wrapper_import
  from .None import head_helper, operators, resnet_helper, stem_helper
  from .build import MODEL_REGISTRY
label_desc: Use image node_id 1 to create a new FuseFastToSlow object from inherited base classes: nn with example: obj = FuseFastToSlow(dim_in, fusion_conv_channel_ratio, fusion_kernel, alpha, eps, bn_mmt, inplace_relu, norm_module)