class_docstr: Overlap patch embedding layer based on a standard patch embedding layer in ViT
  
  Args:
      img_size (`int`): image size (width or height)
      patch_size (`int`): patch size
      stride (`int`): stride used in convolution
      in_chans (`int`): number of input channels
      embed_dim (`int`): output dimension
class_docstr_tok: ["Overlap","patch","embedding","layer","based","on","a","standard","patch","embedding","layer","in","ViT","Args",":","img_size","(","`","int","`",")",":","image","size","(","width","or","height",")","patch_size","(","`","int","`",")",":","patch","size","stride","(","`","int","`",")",":","stride","used","in","convolution","in_chans","(","`","int","`",")",":","number","of","input","channels","embed_dim","(","`","int","`",")",":","output","dimension"]
code: def forward(self, x):
      x = self.proj(x)
      _, _, h, w = x.shape
      x = x.flatten(2).transpose(1, 2)
      x = self.norm(x)
  
      return x, h, w
  
imports: import torch
  from torch import nn
  from towhee.models.layers.patch_embed2d import PatchEmbed2D
  from towhee.models.layers.mlp import Mlp
  from towhee.models.layers.droppath import DropPath
  from towhee.models.utils.init_vit_weights import init_vit_weights
label_desc: Use image node_id 2 for calling the OverlapPatchEmbed obj's underlying member method code with example usage: obj.forward(x) and returns: x,  h,  w