class_docstr: MultiBlocks definition.
  
  Args:
      block_list: Individual blocks of the encoder architecture.
      output_size: Architecture output size.
      norm_class: Normalization module class.
      norm_args: Normalization module arguments.
      blockdrop_rate: Probability threshold of dropping out each block.
docstr: Construct a MultiBlocks object.
docstr_tok: ["Construct","a","MultiBlocks","object","."]
code: def __init__(
      self,
      block_list: List[torch.nn.Module],
      output_size: int,
      norm_class: torch.nn.Module = torch.nn.LayerNorm,
      norm_args: Optional[Dict] = None,
      blockdrop_rate: int = 0.0,
  ) -> None:
      """Construct a MultiBlocks object."""
      super().__init__()
  
      self.blocks = torch.nn.ModuleList(block_list)
      self.norm_blocks = norm_class(output_size, **norm_args)
  
      self.blockdrop_rate = blockdrop_rate
      self.blockdrop_decay = 1.0 / len(self.blocks)
      self.keep_probs = torch.ones(len(self.blocks))
  
imports: from typing import Dict, List, Optional
  import torch
label_desc: Use image node_id 1 to create a new MultiBlocks object from inherited base classes: torch.nn with example: obj = MultiBlocks(block_list, output_size, norm_class, norm_args, blockdrop_rate)