class_docstr: Chain together callables. Can handle relative lengths.
  
  This is a more light-weight version of
  speechbrain.nnet.containers.LengthsCapableSequential
  
  Arguments
  ---------
  *funcs : list, optional
      Any number of functions or other callables, given in order of
      execution.
  
  Returns
  -------
  Any
      The input as processed by each function. If no functions were given,
      simply returns the input.
docstr: Run the chain of callables on the given input
  
  Arguments
  ---------
  x : Any
      The main input
  lengths : Any
      The lengths argument which will be conditionally passed to
      any functions in the chain that take a 'lengths' argument.
      In SpeechBrain the convention is to use relative lengths.
  
  Note
  ----
  By convention, if a callable in the chain returns multiple outputs
  (returns a tuple), only the first output is passed to the next
  callable in the chain.
docstr_tok: ["Run","the","chain","of","callables","on","the","given","input","Arguments","--","--","--","--","-","x",":","Any","The","main","input","lengths",":","Any","The","lengths","argument","which","will","be","conditionally","passed","to","any","functions","in","the","chain","that","take","a","'lengths","'","argument",".","In","SpeechBrain","the","convention","is","to","use","relative","lengths",".","Note","--","--","By","convention",",","if","a","callable","in","the","chain","returns","multiple","outputs","(","returns","a","tuple",")",",","only","the","first","output","is","passed","to","the","next","callable","in","the","chain","."]
code: def __call__(self, x, lengths=None):
      """Run the chain of callables on the given input
  
      Arguments
      ---------
      x : Any
          The main input
      lengths : Any
          The lengths argument which will be conditionally passed to
          any functions in the chain that take a 'lengths' argument.
          In SpeechBrain the convention is to use relative lengths.
  
      Note
      ----
      By convention, if a callable in the chain returns multiple outputs
      (returns a tuple), only the first output is passed to the next
      callable in the chain.
      """
      if not self.funcs:
          return x
      for func, give_lengths in zip(self.funcs, self.takes_lengths):
          if give_lengths:
              x = func(x, lengths)
          else:
              x = func(x)
          if isinstance(x, tuple):
              x = x[0]
      return x
  
imports: import inspect
label_desc: Use image node_id 2 for calling the LengthsCapableChain obj's underlying member method code with example usage: obj.__call__(x, lengths) and returns: x, x