class_docstr: Softmax activation layer.
  
  Formula:
  ``` python
  exp_x = exp(x - max(x))
  f(x) = exp_x / sum(exp_x)
  ```
  
  Example:
  >>>softmax_layer = keras.layers.activations.Softmax()
  >>>input = np.array([1.0, 2.0, 1.0])
  >>>result = softmax_layer(input)
  [0.21194157, 0.5761169, 0.21194157]
  
  
  Args:
      axis: Integer, or list of Integers, axis along which the softmax
          normalization is applied.
      **kwargs: Base layer keyword arguments, such as `name` and `dtype`.
  
  Call arguments:
      inputs: The inputs (logits) to the softmax layer.
      mask: A boolean mask of the same shape as `inputs`. The mask
          specifies 1 to keep and 0 to mask. Defaults to `None`.
  
  Returns:
      Softmaxed output with the same shape as `inputs`.
code: def call(self, inputs, mask=None):
      if mask is not None:
          adder = (
              1.0 - backend.cast(mask, inputs.dtype)
          ) * _large_negative_number(inputs.dtype)
          inputs += adder
      if isinstance(self.axis, (tuple, list)):
          if len(self.axis) > 1:
              return backend.numpy.exp(
                  inputs
                  - backend.math.logsumexp(
                      inputs, axis=self.axis, keepdims=True
                  )
              )
          else:
              return activations.softmax(inputs, axis=self.axis[0])
      return activations.softmax(inputs, axis=self.axis)
  
file_path: keras/keras/layers/activations/softmax.py
imports: from keras import activations
  from keras import backend
  from keras.api_export import keras_export
  from keras.layers.layer import Layer
label_desc: Use image node_id 2 for calling the Softmax obj's underlying member method code with example usage: obj.call(inputs, mask) and returns: activations, backend, activations