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 __init__(
      self,
      img_size=224,
      patch_size=7,
      stride=4,
      in_chans=3,
      embed_dim=768,
  ):
      super().__init__(
          img_size=img_size,
          patch_size=patch_size,
          in_chans=in_chans,
          embed_dim=embed_dim,
          norm_layer=nn.LayerNorm,
          flatten=True,
      )
      self.proj = nn.Conv2d(
          in_chans,
          embed_dim,
          kernel_size=patch_size,
          stride=stride,
          padding=(patch_size // 2, patch_size // 2),
      )
      self.apply(init_vit_weights)
  
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 1 to create a new OverlapPatchEmbed object from inherited base classes: PatchEmbed2D with example: obj = OverlapPatchEmbed(img_size, patch_size, stride, in_chans, embed_dim)