class_docstr: The layer that calculates softmax function on each vector of a set:
  softmax(x[0], ... , x[n-1])[i] = exp(x[i]) / (exp(x[0]) + ... + exp(x[n-1]))
  
  :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 area: Specifies which dimensions constitute the vector length:
  
      - object_size: there are 
        **BatchLength** * **BatchWidth** * **ListSize** vectors, of
        **Height** * **Width** * **Depth** * **Channels** length each
      - batch_length: there are
        **BatchWidth** * **ListSize** * **Height** * **Width** * **Depth** * **Channels** vectors, of
        **BatchLength** length each
      - list_size: there are 
        **BatchLength** * **BatchWidth** * **Height** * **Width** * **Depth** * **Channels** vectors, of
        **ListSize** length each
      - channel: there are
        **BatchLength** * **BatchWidth** * **ListSize** * **Height** * **Width** * **Depth** vectors, of
        **Channels** length each  
  :type area: str, {"object_size", "batch_length", "list_size", "channel"}, default="object_size"
  :param name: The layer name.
  :type name: str, default=None
  
  .. rubric:: Layer inputs:
  
  (1) a data blob of any size. The area setting determines 
      which dimensions would be considered to constitute vector length.
  
  .. rubric:: Layer outputs:
  
  (1) a blob of the same size with softmax applied to every vector.
code: def __init__(self, input_layer, area="object_size", name=None):
      if type(input_layer) is PythonWrapper.Softmax:
          super().__init__(input_layer)
          return
  
      layers, outputs = check_input_layers(input_layer, 1)
  
      area_index = self.areas.index(area)
  
      internal = PythonWrapper.Softmax(
          str(name), layers[0], int(outputs[0]), area_index
      )
      super().__init__(internal)
  
file_path: neoml/NeoML/Python/neoml/Dnn/Softmax.py
imports: import neoml.PythonWrapper
  from .Dnn import Layer
  from neoml.Utils import check_input_layers
label_desc: Use image node_id 1 to create a new Softmax object from inherited base classes: Layer with example: obj = Softmax(input_layer, area, name)