def METHOD_NAME(self, x):
    """Forward pass
    Args:
        x (torch.Tensor - NCHW): Input feature tensor
    Returns:
        torch.Tensor - SNE: Transformer output embeddings. S - sequence length (=HW/patch_size^2), N - batch size, E - embedding dim
    """
    embeddings = self.embedding_convPxP(x).flatten(
        2)  # .shape = n,c,s = n, embedding_dim, s
    if self.use_class_token:
        # extra special token at start ?
        embeddings = nn.functional.pad(embeddings, (1, 0))
    # change to S,N,E format required by transformer
    embeddings = embeddings.permute(2, 0, 1)
    S, N, E = embeddings.shape
    embeddings = embeddings + self.positional_encoding_1d(S, N, E, device=embeddings.device)
    x = self.transformer_encoder(embeddings)  # .shape = S, N, E
    return x