class_docstr: Patch Embedding and Position Embedding
  Apply patch embedding and position embedding on input images.
  Attributes:
      patch_embddings: impl using a patch_size x patch_size Conv2D operation
      position_embddings: a parameter with len = num_patch + 1(for cls_token)
      cls_token: token insert to the patch feature for classification
      dropout: dropout for embeddings
code: def forward(self, x):
      cls_tokens = self.cls_token.expand((x.shape[0], -1, -1))
      x = self.patch_embedding(x)
      x = x.flatten(2)
      x = x.transpose([0, 2, 1])
      x = paddle.concat((cls_tokens, x), axis=1)
  
      embeddings = x + self.position_embeddings  # tensor broadcast
      embeddings = self.dropout(embeddings)
      return embeddings
  
imports: import copy
  import paddle
  import paddle.nn
  from disco_diffusion_ernievil_base.vit_b_16x.ernievil2.transformers.droppath import DropPath
label_desc: Use image node_id 2 for calling the PatchEmbedding obj's underlying member method code with example usage: obj.forward(x) and returns: embeddings