class_docstr: ConvInput module definition.
  
  Args:
      input_size: Input size.
      conv_size: Convolution size.
      subsampling_factor: Subsampling factor.
      vgg_like: Whether to use a VGG-like network.
      output_size: Block output dimension.
docstr: Encode input sequences.
  
  Args:
      x: ConvInput input sequences. (B, T, D_feats)
      mask: Mask of input sequences. (B, 1, T)
  
  Returns:
      x: ConvInput output sequences. (B, sub(T), D_out)
      mask: Mask of output sequences. (B, 1, sub(T))
docstr_tok: ["Encode","input","sequences",".","Args",":","x",":","ConvInput","input","sequences",".","(","B",",","T",",","D_feats",")","mask",":","Mask","of","input","sequences",".","(","B",",","1",",","T",")","Returns",":","x",":","ConvInput","output","sequences",".","(","B",",","sub","(","T",")",",","D_out",")","mask",":","Mask","of","output","sequences",".","(","B",",","1",",","sub","(","T",")",")"]
code: def forward(
      self, x: torch.Tensor, mask: Optional[torch.Tensor] = None
  ) -> Tuple[torch.Tensor, torch.Tensor]:
      """Encode input sequences.
  
      Args:
          x: ConvInput input sequences. (B, T, D_feats)
          mask: Mask of input sequences. (B, 1, T)
  
      Returns:
          x: ConvInput output sequences. (B, sub(T), D_out)
          mask: Mask of output sequences. (B, 1, sub(T))
  
      """
      x = self.conv(x.unsqueeze(1))
  
      b, c, t, f = x.size()
      x = x.transpose(1, 2).contiguous().view(b, t, c * f)
  
      if self.output is not None:
          x = self.output(x)
  
      if mask is not None:
          mask = mask[:, : x.size(1)]
  
      return x, mask
  
imports: from typing import Optional, Tuple, Union
  import torch
  from espnet2.asr_transducer.utils import get_convinput_module_parameters
label_desc: Use image node_id 2 for calling the ConvInput obj's underlying member method code with example usage: obj.forward(x, mask) and returns: x,  mask