class_docstr: Masked multi-pathway is composed of a list of stream nn.Modules followed by a
  fusion nn.Module that reduces these streams. Each stream module takes a mask
  and input tensor.
  
  ::
  
                          Pathway 1  ... Pathway N
                              ↓              ↓
                           Block 1        Block N
                              ↓⭠ --Fusion----↓
class_docstr_tok: ["Masked","multi-pathway","is","composed","of","a","list","of","stream","nn.Modules","followed","by","a","fusion","nn.Module","that","reduces","these","streams",".","Each","stream","module","takes","a","mask","and","input","tensor",".",":",":","Pathway","1","...","Pathway","N","\u2193","\u2193","Block","1","Block","N","\u2193\u2b60","--","Fusion","--","--","\u2193"]
code: def forward(
      self, x_and_mask: List[Tuple[torch.Tensor, torch.Tensor]]
  ) -> torch.Tensor:
      out = []
      for pathway_idx in range(len(self.multipathway_blocks)):
          out.append(
              self.multipathway_blocks[pathway_idx](
                  *x_and_mask[pathway_idx]
              )
          )
  
      if self.multipathway_fusion is not None:
          x = self.multipathway_fusion(out)
      return x
  
imports: from typing import List, Optional, Tuple
  import torch
  from pytorchvideo.layers.utils import set_attributes
  from torch import nn
  from torch.nn.utils.rnn import pack_padded_sequence
label_desc: Use image node_id 2 for calling the MaskedMultiPathWay obj's underlying member method code with example usage: obj.forward(x_and_mask) and returns: x