class_docstr: Multiscale Transformer blocks
class_docstr_tok: ["Multiscale","Transformer","blocks"]
code: def forward(self, x):
      x_norm = self.norm1(x)
      x_block = self.attn(x_norm)
  
      if hasattr(self, "proj"):
          x = self.proj(x_norm)
      if hasattr(self, "pool_skip"):
          x = attention_pool(x, self.pool_skip)
  
      x = x + self.drop_path(x_block)
      x = x + self.drop_path(self.mlp(self.norm2(x)))
  
      return x
  
file_path: detectron2/detectron2/modeling/backbone/mvit.py
imports: import logging
  import numpy
  import torch
  import torch.nn
  from .backbone import Backbone
  from .utils import PatchEmbed, add_decomposed_rel_pos, get_abs_pos, window_partition, window_unpartition
label_desc: Use image node_id 2 for calling the MultiScaleBlock obj's underlying member method code with example usage: obj.forward(x) and returns: x