class_docstr: Convolutional Patch embedding layer.
  
  Args:
      opts: Command line arguments.
      patch_size: Patch size for embedding computation.
      stride: Stride for convolutional embedding layer.
      in_channels: Number of channels of input tensor.
      embed_dim: Number of embedding dimensions.
class_docstr_tok: ["Convolutional","Patch","embedding","layer",".","Args",":","opts",":","Command","line","arguments",".","patch_size",":","Patch","size","for","embedding","computation",".","stride",":","Stride","for","convolutional","embedding","layer",".","in_channels",":","Number","of","channels","of","input","tensor",".","embed_dim",":","Number","of","embedding","dimensions","."]
code: def __init__(
      self,
      opts: argparse.Namespace,
      patch_size: int,
      stride: int,
      in_channels: int,
      embed_dim: int,
  ):
      super().__init__()
  
      inference_mode = getattr(
          opts, "model.classification.fastvit.inference_mode"
      )
      block = list()
      block.append(
          RepLKBlock(
              opts,
              in_channels=in_channels,
              out_channels=embed_dim,
              kernel_size=patch_size,
              stride=stride,
              groups=in_channels,
              small_kernel_size=3,
              inference_mode=inference_mode,
          )
      )
      block.append(
          MobileOneBlock(
              opts,
              in_channels=embed_dim,
              out_channels=embed_dim,
              kernel_size=1,
              stride=1,
              padding=0,
              groups=1,
              inference_mode=inference_mode,
              use_se=False,
              num_conv_branches=1,
          )
      )
      self.proj = nn.Sequential(*block)
  
imports: import argparse
  from typing import Optional, Tuple, Union
  import torch
  import torch.nn
  from cvnets.layers import ConvLayer2d, MultiHeadAttention, StochasticDepth
  from cvnets.layers.normalization.batch_norm import BatchNorm2d
  from cvnets.modules import BaseModule
  from cvnets.modules.mobileone_block import MobileOneBlock, RepLKBlock
label_desc: Use image node_id 1 to create a new PatchEmbed object from inherited base classes: BaseModule with example: obj = PatchEmbed(opts, patch_size, stride, in_channels, embed_dim)