class_docstr: 2D Image to Patch Embedding.
class_docstr_tok: ["2D","Image","to","Patch","Embedding","."]
code: def forward(self, x):
      x = self.proj(x)
      _, _, H, W = x.shape
      if self.flatten:
          x = x.flatten(2).transpose(1, 2)  # BCHW -> BNC
      x = self.norm(x)
      return x, H, W
  
imports: import logging
  import math
  from functools import partial
  from itertools import repeat
  from typing import Callable, Optional
  import torch
  import torch.nn
  import torch.nn.functional
  import torch.utils.checkpoint
  from mmcv.runner import BaseModule, load_checkpoint
  from mmseg.ops import resize
  from mmseg.utils import get_root_logger
  from torch import Tensor
  from .drop_path import DropPath
label_desc: Use image node_id 2 for calling the PatchEmbed obj's underlying member method code with example usage: obj.forward(x) and returns: x,  H,  W