src/transformers/models/mctct/modeling_mctct.py/MCTCTConv1dSubsampler/forward
class MCTCTConv1dSubsampler:    def forward(self, input_features):
        # NOTE: in reference to the NOTE in __init__, right now it just calculates padding as if
        # there will be just one conv layer.
        padding = sum([size // 2 for size in self.kernel_size])  # (7, 7) -> (3, 3)

        input_features = torch.nn.functional.pad(input_features, (0, 0, padding, padding), "constant", 0)
        hidden_states = input_features.transpose(1, 2).contiguous()  # -> Batch x Frame x Time
        for conv in self.conv_layers:
            hidden_states = conv(hidden_states)
            hidden_states = nn.functional.glu(hidden_states, dim=self.glu_dim)
            hidden_states = self.dropout(hidden_states)

        hidden_states = hidden_states.transpose(1, 2).contiguous()  # -> Batch x Time x Frame
        return hidden_states