class_docstr: Implementation of recurrent layers.
class_docstr_tok: ["Implementation","of","recurrent","layers","."]
docstr: Initial state for this cell.
  
  Parameters
  ----------
  batch_size: int
      Only required for `NDArray` API. Size of the batch ('N' in layout).
      Dimension of the input.
  func : callable, default `ndarray.zeros`
      Function for creating initial state.
  
      For Symbol API, func can be `symbol.zeros`, `symbol.uniform`,
      `symbol.var` etc. Use `symbol.var` if you want to directly
      feed input as states.
  
      For NDArray API, func can be `ndarray.zeros`, `ndarray.ones`, etc.
  
  **kwargs :
      Additional keyword arguments passed to func. For example
      `mean`, `std`, `dtype`, etc.
  
  Returns
  -------
  states : nested list of Symbol
      Starting states for the first RNN step.
docstr_tok: ["Initial","state","for","this","cell",".","Parameters","--","--","--","--","--","batch_size",":","int","Only","required","for","`","NDArray","`","API",".","Size","of","the","batch","(","'N","'","in","layout",")",".","Dimension","of","the","input",".","func",":","callable",",","default","`","ndarray.zeros","`","Function","for","creating","initial","state",".","For","Symbol","API",",","func","can","be","`","symbol.zeros","`",",","`","symbol.uniform","`",",","`","symbol.var","`","etc",".","Use","`","symbol.var","`","if","you","want","to","directly","feed","input","as","states",".","For","NDArray","API",",","func","can","be","`","ndarray.zeros","`",",","`","ndarray.ones","`",",","etc",".","*","*","kwargs",":","Additional","keyword","arguments","passed","to","func",".","For","example","`","mean","`",",","`","std","`",",","`","dtype","`",",","etc",".","Returns","--","--","--","-","states",":","nested","list","of","Symbol","Starting","states","for","the","first","RNN","step","."]
code: def begin_state(self, batch_size=0, func=np.zeros, **kwargs):
      """Initial state for this cell.
  
      Parameters
      ----------
      batch_size: int
          Only required for `NDArray` API. Size of the batch ('N' in layout).
          Dimension of the input.
      func : callable, default `ndarray.zeros`
          Function for creating initial state.
  
          For Symbol API, func can be `symbol.zeros`, `symbol.uniform`,
          `symbol.var` etc. Use `symbol.var` if you want to directly
          feed input as states.
  
          For NDArray API, func can be `ndarray.zeros`, `ndarray.ones`, etc.
  
      **kwargs :
          Additional keyword arguments passed to func. For example
          `mean`, `std`, `dtype`, etc.
  
      Returns
      -------
      states : nested list of Symbol
          Starting states for the first RNN step.
      """
      states = []
      for info in self.state_info(batch_size):
          if info is not None:
              info.update(kwargs)
          else:
              info = kwargs
          state = func(
              shape=info.pop("shape", ()),
              device=info.pop("device", cpu()),
              dtype=info.pop("dtype", "float32"),
          )
          states.append(state)
      return states
  
imports: from ...None import np, npx, initializer, cpu
  from ..None import HybridBlock, tensor_types
  from ..parameter import Parameter
  from ...util import use_np
label_desc: Use image node_id 5 for calling the _RNNLayer obj's underlying member method code with example usage: obj.begin_state(batch_size, func) and returns: states