def forward(self, x: torch.Tensor) -> torch.Tensor:
        """
        Forward pass of the model.

        Parameters
        ----------
        x : torch.Tensor
            Input tensor of shape [batch_size, num_channels, num_samples].

        Returns
        -------
        torch.Tensor
            Output logits of shape [batch_size, num_classes].
        """
        x = self.ensuredims(x)
        x = self.sinc_filter_layer(x)
        x = self.depthwiseconv(x)
        x = self.temporal_aggregation(x)

        return self.final_layer(x)

        Forward pass of the model.

        Parameters
        ----------
        x : torch.Tensor
            Input tensor of shape [batch_size, num_channels, num_samples].

        Returns
        -------
        torch.Tensor
            Output logits of shape [batch_size, num_classes].
        
braindecode/models/sinc_shallow.py