class_docstr: Linear 1D subsampling.
  
  :param int idim: input dim
  :param int odim: output dim
  :param flaot dropout_rate: dropout rate
class_docstr_tok: ["Linear","1D","subsampling",".",":","param","int","idim",":","input","dim",":","param","int","odim",":","output","dim",":","param","flaot","dropout_rate",":","dropout","rate"]
docstr: Subsample x.
  
  :param chainer.Variable x: input tensor
  :return: subsampled x and mask
docstr_tok: ["Subsample","x.",":","param","chainer.Variable","x",":","input","tensor",":","return",":","subsampled","x","and","mask"]
code: def forward(self, xs, ilens):
      """Subsample x.
  
      :param chainer.Variable x: input tensor
      :return: subsampled x and mask
  
      """
      logging.info(xs.shape)
      xs = self.linear(xs, n_batch_axes=2)
      logging.info(xs.shape)
      xs = self.pe(xs)
      return xs, ilens
  
file_path: espnet/espnet/nets/chainer_backend/transformer/subsampling.py
imports: import logging
  import chainer
  import chainer.functions
  import chainer.links
  import numpy
  from espnet.nets.chainer_backend.transformer.embedding import PositionalEncoding
label_desc: Use image node_id 2 for calling the LinearSampling obj's underlying member method code with example usage: obj.forward(xs, ilens) and returns: xs,  ilens