class_docstr: IRNN implementation from this article: https://arxiv.org/pdf/1504.00941.pdf
  
  It's a simple recurrent unit with the following formula:
  :math:`Y_t = ReLU( FC_{input}( X_t ) + FC_{recur}( Y_t-1 ) )`
  where :math:`FC` are fully-connected layers.
  
  The crucial point of this layer is weights initialization.
  The weight matrix of :math:`FC_{input}` is initialized from N(0, input_weight_std),
  where input_weight_std is a layer parameter.
  The weight matrix of :math:`FC_{recur}` is an identity matrix, 
  multiplied by identity_scale parameter.
  
  :param input_layer: The input layer and the number of its output. If no number
      is specified, the first output will be connected.
  :type input_layer: object, tuple(object, int)
  :param hidden_size: The size of hidden layer. 
      Affects the output size.
  :type hidden_size: int, default=1
  :param identity_scale: The scale of identity matrix, used for the initialization 
      of recurrent weights.
  :type identity_scale: float, default=1.
  :param input_weight_std: The standard deviation for input weights.
  :type input_weight_std: float, default=1e-3
  :param reverse_seq: Indicates if the input sequence should be taken in the reverse order.
  :type reverse_seq: bool, default=False
  :param name: The layer name.
  :type name: str, default=None
  
  .. rubric:: Layer inputs:
  
  (1) the set of vector sequences, of dimensions:
  
      - **BatchLength** - the length of a sequence
      - **BatchWidth** * **ListSize** - the number of vector sequences in the input set
      - **Height** * **Width** * **Depth** * **Channels** - the size of each vector in the sequence
  
  .. rubric:: Layer outputs:
  
  (1) the result of the current step. The dimensions:
  
      - **BatchLength**, **BatchWidth**, **ListSize** are the same as for the input
      - **Height**, **Width**, **Depth** are 1
      - **Channels** is hidden_size
docstr: Gets the standard deviation for input weights.
          
docstr_tok: ["Gets","the","standard","deviation","for","input","weights","."]
code: def input_weight_std(self):
      """Gets the standard deviation for input weights."""
      return self._internal.get_input_weight_std()
  
imports: import neoml.PythonWrapper
  from .Dnn import Layer
  from neoml.Utils import check_input_layers
  import neoml.Blob
label_desc: Use image node_id 6 for calling the Irnn obj's underlying member method code with example usage: obj.input_weight_std() and returns: self