code: def forward_features(self, x):
      B = x.shape[0]
      outs = []
  
      # stage 1
      x, H, W = self.patch_embed1(x)
      for i, blk in enumerate(self.block1):
          x = blk(x, H, W)
      x = self.norm1(x)
      x = x.reshape(B, H, W, -1).permute(0, 3, 1, 2).contiguous()
      outs.append(x)
  
      # stage 2
      x, H, W = self.patch_embed2(x)
      for i, blk in enumerate(self.block2):
          x = blk(x, H, W)
      x = self.norm2(x)
      x = x.reshape(B, H, W, -1).permute(0, 3, 1, 2).contiguous()
      outs.append(x)
  
      # stage 3
      x, H, W = self.patch_embed3(x)
      for i, blk in enumerate(self.block3):
          x = blk(x, H, W)
      x = self.norm3(x)
      x = x.reshape(B, H, W, -1).permute(0, 3, 1, 2).contiguous()
      outs.append(x)
  
      # stage 4
      x, H, W = self.patch_embed4(x)
      for i, blk in enumerate(self.block4):
          x = blk(x, H, W)
      x = self.norm4(x)
      if not self.output_avg:
          x = x.reshape(B, H, W, -1).permute(0, 3, 1, 2).contiguous()
      outs.append(x)
  
      return outs
  
imports: import math
  import torch
  import torch.nn
  import torch.nn.functional
  from functools import partial
  from torch.nn.init import trunc_normal_
  from megatron.model.transformer import DropPath
  from megatron.model import LayerNorm
label_desc: Use image node_id 5 for calling the MixVisionTransformer obj's underlying member method code with example usage: obj.forward_features(x) and returns: outs