class_docstr: The fully connected layer.
  It multiplies each of the input vectors by the weight matrix
  and adds the free term vector to the result.
  
  :param input_layers: The input layers to be connected. 
      The integer in each tuple specifies the number of the output.
      If not set, the first output will be used.
  :type input_layers: list of object, tuple(object, int)
  :param element_count: The length of each vector in the output.
  :type element_count: int, > 0
  :param  is_zero_free_term: If True, the free term vector is set to all zeros and not trained.
      If False, the free term is trained together with the weights.
  :type is_zero_free_term: bool, default=False  
  :param name: The layer name.
  :type name: str, default=None
  
  .. rubric:: Layer inputs:
  
  The layer can have any number of inputs.
  The dimensions:
  
  - **BatchLength** * **BatchWidth** * **ListSize** is the number of vectors
  - **Height** * **Width** * **Depth** * **Channels** is the vector size; 
    should be the same for all inputs
  
  .. rubric:: Layer outputs:
  
  The layer returns one output for each input.
  The dimensions:
  
  - **BatchLength**, **BatchWidth**, **ListSize** the same as for the input
  - **Height**, **Width**, **Depth** are 1
  - **Channels** is element_count
docstr: Gets the trained weights as a blob of the dimensions:
  
  - **BatchLength** * **BatchWidth** * **ListSize** equal to element_count
  - **Height**, **Width**, **Depth**, **Channels** the same as for the first input
docstr_tok: ["Gets","the","trained","weights","as","a","blob","of","the","dimensions",":","-","*","*","BatchLength","*","*","*","*","*","BatchWidth","*","*","*","*","*","ListSize","*","*","equal","to","element_count","-","*","*","Height","*","*",",","*","*","Width","*","*",",","*","*","Depth","*","*",",","*","*","Channels","*","*","the","same","as","for","the","first","input"]
code: def weights(self):
      """Gets the trained weights as a blob of the dimensions:
  
      - **BatchLength** * **BatchWidth** * **ListSize** equal to element_count
      - **Height**, **Width**, **Depth**, **Channels** the same as for the first input
      """
      return Blob.Blob(self._internal.get_weights())
  
file_path: neoml/NeoML/Python/neoml/Dnn/FullyConnected.py
imports: import neoml.PythonWrapper
  from .Dnn import Layer
  from neoml.Utils import check_input_layers
  from .BatchNormalization import BatchNormalization
  import neoml.Blob
label_desc: Use image node_id 6 for calling the FullyConnected obj's underlying member method code with example usage: obj.weights() and returns: Blob