def __init__(
        self,
        kernel_size: tuple[int, int] = (16, 16),
        stride: tuple[int, int] = (16, 16),
        padding: tuple[int, int] = (0, 0),
        in_chans: int = 3,
        embed_dim: int = 768,
    ) -> None:
        """Construct Patch Embedding.

        Args:
        kernel_size: kernel size of the projection layer.
        stride: stride of the projection layer.
        padding: padding size of the projection layer.
        in_chans: Number of input image channels.
        embed_dim: Patch embedding dimension.

        """
        super().__init__()

        self.proj = nn.Conv2d(in_chans, embed_dim, kernel_size=kernel_size, stride=stride, padding=padding)
Construct Patch Embedding.

        Args:
        kernel_size: kernel size of the projection layer.
        stride: stride of the projection layer.
        padding: padding size of the projection layer.
        in_chans: Number of input image channels.
        embed_dim: Patch embedding dimension.

        
kornia/contrib/models/sam/architecture/image_encoder.py