class_docstr: Independently Recurrent Neural Network (IndRNN): https://arxiv.org/pdf/1803.04831.pdf
  
  It's a simple recurrent unit with the following formula:
  :math:`Y_t = activation(W * X_t + B + U * dropout(Y_{t-1}))`
  where :math:`W` and :math:`B` are weights and free terms of the fully-connected layer
  (:math:`W * X_t` is a matrix multiplication) and :math:`U` is a vector
  (:math:`U * Y_{t-1}` is an eltwise multiplication of 2 vectors of the same length)
  
  :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 dropout_rate: The rate of the dropout, applied to both input and recurrent data
  :type dropout_rate: float, default=0.
  :param activation: The activation funciton applied to the output
  :type activation: str, {'sigmoid', 'relu'}, default='relu'
  :param reverse_sequence: Indicates if the input sequence should be taken in the reverse order.
  :type reverse_sequence: bool, default=False
  
  .. rubric:: Layer inputs:
  
  (1) the set of vector sequences, of dimensions:
  
      - **BatchLength** - the sequence length
      - **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 layer. The dimensions:
  
      - **BatchLength**, **BatchWidth**, **ListSize** are the same as for the input
      - **Height**, **Width**, **Depth** are 1
      - **Channels** is hidden_size
class_docstr_tok: ["Independently","Recurrent","Neural","Network","(","IndRNN",")",":","https",":","\/\/arxiv.org\/pdf\/1803.04831.pdf","It","'s","a","simple","recurrent","unit","with","the","following","formula",":",":","math",":","`","Y_t","=","activation","(","W","*","X_t","+","B","+","U","*","dropout","(","Y_","{","t-1","}",")",")","`","where",":","math",":","`","W","`","and",":","math",":","`","B","`","are","weights","and","free","terms","of","the","fully-connected","layer","(",":","math",":","`","W","*","X_t","`","is","a","matrix","multiplication",")","and",":","math",":","`","U","`","is","a","vector","(",":","math",":","`","U","*","Y_","{","t-1","}","`","is","an","eltwise","multiplication","of","2","vectors","of","the","same","length",")",":","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","dropout_rate",":","The","rate","of","the","dropout",",","applied","to","both","input","and","recurrent","data",":","type","dropout_rate",":","float",",","default=0",".",":","param","activation",":","The","activation","funciton","applied","to","the","output",":","type","activation",":","str",",","{","'sigmoid","'",",","'relu","'","}",",","default='relu'",":","param","reverse_sequence",":","Indicates","if","the","input","sequence","should","be","taken","in","the","reverse","order",".",":","type","reverse_sequence",":","bool",",","default=False","..","rubric",":",":","Layer","inputs",":","(","1",")","the","set","of","vector","sequences",",","of","dimensions",":","-","*","*","BatchLength","*","*","-","the","sequence","length","-","*","*","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","layer",".","The","dimensions",":","-","*","*","BatchLength","*","*",",","*","*","BatchWidth","*","*",",","*","*","ListSize","*","*","are","the","same","as","for","the","input","-","*","*","Height","*","*",",","*","*","Width","*","*",",","*","*","Depth","*","*","are","1","-","*","*","Channels","*","*","is","hidden_size"]
docstr: Sets the bias vector, of hidden_size length.
          
docstr_tok: ["Sets","the","bias","vector",",","of","hidden_size","length","."]
code: def bias(self, blob):
      """Sets the bias vector, of hidden_size length."""
      if not type(blob) is Blob.Blob:
          raise ValueError("The `blob` must be neoml.Blob.")
  
      self._internal.set_bias(blob._internal)
  
imports: import neoml.PythonWrapper
  from .Dnn import Layer
  from neoml.Utils import check_input_layers
  import neoml.Blob
label_desc: Use image node_id 15 for calling the IndRnn obj's underlying member method code with example usage: obj.bias(blob) without return types