docstr: Given a list of two tensors from Slow pathway and Fast pathway, fusion information
  from the Fast pathway to the Slow on through a convolution followed by a
  concatenation, then return the fused list of tensors from Slow and Fast pathway in
  order.
  Args:
      slowfast_channel_reduction_ratio (int): Reduction ratio from the stage dimension.
          Used to compute conv_dim_in = fusion_dim_in // slowfast_channel_reduction_ratio
      conv_fusion_channel_ratio (int): channel ratio for the convolution used to fuse
          from Fast pathway to Slow pathway.
      conv_kernel_size (int): kernel size of the convolution used to fuse from Fast
          pathway to Slow pathway.
      conv_stride (int): stride size of the convolution used to fuse from Fast pathway
          to Slow pathway.
      norm (callable): a callable that constructs normalization layer, examples
          include nn.BatchNorm3d, None (not performing normalization).
      norm_eps (float): normalization epsilon.
      norm_momentum (float): normalization momentum.
      activation (callable): a callable that constructs activation layer, examples
          include: nn.ReLU, nn.Softmax, nn.Sigmoid, and None (not performing
          activation).
      max_stage_idx (int): Returns identity module if we exceed this
docstr_tok: ["Given","a","list","of","two","tensors","from","Slow","pathway","and","Fast","pathway",",","fusion","information","from","the","Fast","pathway","to","the","Slow","on","through","a","convolution","followed","by","a","concatenation",",","then","return","the","fused","list","of","tensors","from","Slow","and","Fast","pathway","in","order",".","Args",":","slowfast_channel_reduction_ratio","(","int",")",":","Reduction","ratio","from","the","stage","dimension",".","Used","to","compute","conv_dim_in","=","fusion_dim_in","\/\/","slowfast_channel_reduction_ratio","conv_fusion_channel_ratio","(","int",")",":","channel","ratio","for","the","convolution","used","to","fuse","from","Fast","pathway","to","Slow","pathway",".","conv_kernel_size","(","int",")",":","kernel","size","of","the","convolution","used","to","fuse","from","Fast","pathway","to","Slow","pathway",".","conv_stride","(","int",")",":","stride","size","of","the","convolution","used","to","fuse","from","Fast","pathway","to","Slow","pathway",".","norm","(","callable",")",":","a","callable","that","constructs","normalization","layer",",","examples","include","nn.BatchNorm3d",",","None","(","not","performing","normalization",")",".","norm_eps","(","float",")",":","normalization","epsilon",".","norm_momentum","(","float",")",":","normalization","momentum",".","activation","(","callable",")",":","a","callable","that","constructs","activation","layer",",","examples","include",":","nn.ReLU",",","nn.Softmax",",","nn.Sigmoid",",","and","None","(","not","performing","activation",")",".","max_stage_idx","(","int",")",":","Returns","identity","module","if","we","exceed","this"]
code: def __init__(
      self,
      slowfast_channel_reduction_ratio: int,
      conv_fusion_channel_ratio: float,
      conv_kernel_size: Tuple[int],
      conv_stride: Tuple[int],
      norm: Callable = nn.BatchNorm3d,
      norm_eps: float = 1e-5,
      norm_momentum: float = 0.1,
      activation: Callable = nn.ReLU,
      max_stage_idx: int = 3,
  ) -> None:
      """
      Given a list of two tensors from Slow pathway and Fast pathway, fusion information
      from the Fast pathway to the Slow on through a convolution followed by a
      concatenation, then return the fused list of tensors from Slow and Fast pathway in
      order.
      Args:
          slowfast_channel_reduction_ratio (int): Reduction ratio from the stage dimension.
              Used to compute conv_dim_in = fusion_dim_in // slowfast_channel_reduction_ratio
          conv_fusion_channel_ratio (int): channel ratio for the convolution used to fuse
              from Fast pathway to Slow pathway.
          conv_kernel_size (int): kernel size of the convolution used to fuse from Fast
              pathway to Slow pathway.
          conv_stride (int): stride size of the convolution used to fuse from Fast pathway
              to Slow pathway.
          norm (callable): a callable that constructs normalization layer, examples
              include nn.BatchNorm3d, None (not performing normalization).
          norm_eps (float): normalization epsilon.
          norm_momentum (float): normalization momentum.
          activation (callable): a callable that constructs activation layer, examples
              include: nn.ReLU, nn.Softmax, nn.Sigmoid, and None (not performing
              activation).
          max_stage_idx (int): Returns identity module if we exceed this
      """
      set_attributes(self, locals())
  
imports: from typing import Callable, List, Optional, Tuple, Union
  import torch
  import torch.nn
  from pytorchvideo.layers.utils import set_attributes
  from pytorchvideo.models.head import create_res_basic_head, create_res_roi_pooling_head
  from pytorchvideo.models.net import DetectionBBoxNetwork, MultiPathWayWithFuse, Net
  from pytorchvideo.models.resnet import create_bottleneck_block, create_res_stage
  from pytorchvideo.models.stem import create_res_basic_stem
label_desc: Use image node_id 1 to create a new FastToSlowFusionBuilder object  with example: obj = FastToSlowFusionBuilder(slowfast_channel_reduction_ratio, conv_fusion_channel_ratio, conv_kernel_size, conv_stride, norm, norm_eps, norm_momentum, activation, max_stage_idx)