Softmax#
- class brainpy.dnn.Softmax(dim=None)[source]#
Applies the Softmax function to an n-dimensional input Tensor rescaling them so that the elements of the n-dimensional output Tensor lie in the range [0,1] and sum to 1.
Softmax is defined as:
\[\text{Softmax}(x_{i}) = \frac{\exp(x_i)}{\sum_j \exp(x_j)}\]When the input Tensor is a sparse tensor then the unspecified values are treated as
-inf.- Shape:
Input: \((*)\) where * means, any number of additional dimensions
Output: \((*)\), same shape as the input
- Returns:
a Tensorofthe same dimensionandshape as the input withvalues in the range [0,1]
- Parameters:
dim (
Optional[int]) – A dimension along which Softmax will be computed (so every slice along dim will sum to 1).note:: (..) – This module doesn’t work directly with NLLLoss, which expects the Log to be computed between the Softmax and itself. Use LogSoftmax instead (it’s faster and has better numerical properties).
Examples
>>> import brainpy as bp >>> import brainpy.math as bm >>> m = bp.dnn.Softmax(dim=1) >>> input = bm.random.randn(2, 3) >>> output = m(input)