code: def begin_state(self, func=symbol.zeros, **kwargs):
          
          assert not self._modified, \
              "After applying modifier cells (e.g. DropoutCell) the base " \
              "cell cannot be called directly. Call the modifier cell instead."
          states = []
          for info in self.state_info:
              self._init_counter += 1
              if info is None:
                  state = func(name='%sbegin_state_%d'%(self._prefix, self._init_counter),
                               **kwargs)
              else:
                  kwargs.update(info)
                  state = func(name='%sbegin_state_%d'%(self._prefix, self._init_counter),
                               **kwargs)
              states.append(state)
          return states
docs: Initial state for this cell.
  
          Parameters
          ----------
          func : callable, default symbol.zeros
              Function for creating initial state. Can be symbol.zeros,
              symbol.uniform, symbol.Variable etc.
              Use symbol.Variable if you want to directly
              feed input as states.
          **kwargs :
              more keyword arguments passed to func. For example
              mean, std, dtype, etc.
  
          Returns
          -------
          states : nested list of Symbol
              Starting states for the first RNN step.