class_docstr: The gated recurrent unit (GRU) layer that works with a set
  of vector sequences.
  
  :param input_layer: The input layer and the number of its output. If no number
      is specified, the first output will be connected.
  :param input_layer: object, tuple(object, int) or list of them
  :param hidden_size: The size of the hidden layer.
  :type hidden_size: int
  :param name: The layer name.
  :type name: str, default=None
  
  .. rubric:: Layer inputs:
  
  (1) the set of vector sequences. The dimensions:
  
      - **BatchLength** is sequence length
      - **BatchWidth** * **ListSize** is the number of sequences
      - **Height** * **Width** * **Depth** * **Channels** is vector size
  
  (2) (optional): the initial previous step result. If you do not connect
      this input all zeros will be used on the first step.
      The dimensions are the same as for the first input.
  
  .. rubric:: Layer outputs:
  
  (1) a vector sequence of the same length. The dimensions:
  
      - **BatchLength**, **BatchWidth**, **ListSize** equal to the input's dimensions
      - **Height**, **Width**, **Depth** are 1
      - **Channels** is equal to hidden layer size
class_docstr_tok: ["The","gated","recurrent","unit","(","GRU",")","layer","that","works","with","a","set","of","vector","sequences",".",":","param","input_layer",":","The","input","layer","and","the","number","of","its","output",".","If","no","number","is","specified",",","the","first","output","will","be","connected",".",":","param","input_layer",":","object",",","tuple","(","object",",","int",")","or","list","of","them",":","param","hidden_size",":","The","size","of","the","hidden","layer",".",":","type","hidden_size",":","int",":","param","name",":","The","layer","name",".",":","type","name",":","str",",","default=None","..","rubric",":",":","Layer","inputs",":","(","1",")","the","set","of","vector","sequences",".","The","dimensions",":","-","*","*","BatchLength","*","*","is","sequence","length","-","*","*","BatchWidth","*","*","*","*","*","ListSize","*","*","is","the","number","of","sequences","-","*","*","Height","*","*","*","*","*","Width","*","*","*","*","*","Depth","*","*","*","*","*","Channels","*","*","is","vector","size","(","2",")","(","optional",")",":","the","initial","previous","step","result",".","If","you","do","not","connect","this","input","all","zeros","will","be","used","on","the","first","step",".","The","dimensions","are","the","same","as","for","the","first","input",".","..","rubric",":",":","Layer","outputs",":","(","1",")","a","vector","sequence","of","the","same","length",".","The","dimensions",":","-","*","*","BatchLength","*","*",",","*","*","BatchWidth","*","*",",","*","*","ListSize","*","*","equal","to","the","input","'s","dimensions","-","*","*","Height","*","*",",","*","*","Width","*","*",",","*","*","Depth","*","*","are","1","-","*","*","Channels","*","*","is","equal","to","hidden","layer","size"]
docstr: Sets the hidden layer size.
          
docstr_tok: ["Sets","the","hidden","layer","size","."]
code: def hidden_size(self, hidden_size):
      """Sets the hidden layer size."""
      self._internal.set_hidden_size(hidden_size)
  
file_path: neoml/NeoML/Python/neoml/Dnn/Gru.py
imports: import neoml.PythonWrapper
  import neoml.Blob
  from .Dnn import Layer
  from neoml.Utils import check_input_layers
label_desc: Use image node_id 11 for calling the Gru obj's underlying member method code with example usage: obj.hidden_size(hidden_size) without return types