class_docstr: Image to Patch Embedding
  Args:
      patch_size (int): Patch token size. Default: 4.
      in_chans (int): Number of input image channels. Default: 3.
      embed_dim (int): Number of linear projection output channels. Default: 96.
      norm_layer (nn.Module, optional): Normalization layer. Default: None
code: def __init__(
      self, patch_size=4, in_chans=3, embed_dim=96, norm_layer=None
  ):
      super().__init__()
      patch_size = _to_2tuple(patch_size)
      self.patch_size = patch_size
  
      self.in_chans = in_chans
      self.embed_dim = embed_dim
  
      self.proj = nn.Conv2d(
          in_chans, embed_dim, kernel_size=patch_size, stride=patch_size
      )
      if norm_layer is not None:
          self.norm = norm_layer(embed_dim)
      else:
          self.norm = None
  
imports: import numpy
  import torch
  import torch.nn
  import torch.nn.functional
  import torch.utils.checkpoint
  from detectron2.modeling.backbone.backbone import Backbone
label_desc: Use image node_id 1 to create a new PatchEmbed object from inherited base classes: nn with example: obj = PatchEmbed(patch_size, in_chans, embed_dim, norm_layer)