ak.softmax#
Defined in awkward.operations.ak_softmax on line 27.
- ak.softmax(x, axis=None, *, keepdims=False, mask_identity=False, highlevel=True, behavior=None, attrs=None)#
- Parameters:
x – The data on which to compute the softmax (anything
ak.to_layout
recognizes).axis (None or int) – If None, combine all values from the array into a single scalar result; if an int, group by that axis. Only
axis
arguments equivalent to-1
(softmax reduction along the innermost dimension) is supported.keepdims (bool) – If False, this function decreases the number of dimensions by 1; if True, the output values are wrapped in a new length-1 dimension so that the result of this operation may be broadcasted with the original array.
mask_identity (bool) – If True, the application of this function on empty lists results in None (an option type); otherwise, the calculation is followed through with the reducers’ identities, usually resulting in floating-point
nan
.highlevel (bool) – If True, return an
ak.Array
; otherwise, return a low-levelak.contents.Content
subclass.behavior (None or dict) – Custom
ak.behavior
for the output array, if high-level.attrs (None or dict) – Custom attributes for the output array, if high-level.
Computes the softmax in each group of elements from x
(many
types supported, including all Awkward Arrays and Records). The grouping
is performed the same way as for reducers, though this operation is not a
reducer and has no identity.
This function has no NumPy equivalent.
Passing all arguments to the reducers, the softmax is calculated as
np.exp(x) / ak.sum(np.exp(x))
See ak.sum
for a complete description of handling nested lists and
missing values (None) in reducers, and ak.mean
for an example with another
non-reducer.