Softmax

Overview

A primitive to perform softmax. More…

// structs

struct dnnl_softmax_desc_t;
struct dnnl::softmax_backward;
struct dnnl::softmax_forward;

// global functions

dnnl_status_t DNNL_API dnnl_softmax_forward_desc_init(
    dnnl_softmax_desc_t* softmax_desc,
    dnnl_prop_kind_t prop_kind,
    const dnnl_memory_desc_t* data_desc,
    int softmax_axis
    );

dnnl_status_t DNNL_API dnnl_softmax_backward_desc_init(
    dnnl_softmax_desc_t* softmax_desc,
    const dnnl_memory_desc_t* diff_data_desc,
    const dnnl_memory_desc_t* data_desc,
    int softmax_axis
    );

Detailed Documentation

A primitive to perform softmax.

See also:

Softmax in developer guide

Global Functions

dnnl_status_t DNNL_API dnnl_softmax_forward_desc_init(
    dnnl_softmax_desc_t* softmax_desc,
    dnnl_prop_kind_t prop_kind,
    const dnnl_memory_desc_t* data_desc,
    int softmax_axis
    )

Initializes a descriptor for softmax forward propagation primitive.

Parameters:

softmax_desc

Output descriptor for a softmax primitive.

prop_kind

Propagation kind. Possible values are dnnl_forward_training and dnnl_forward_inference.

data_desc

Source and destination memory descriptor.

softmax_axis

Axis over which softmax is computed.

Returns:

dnnl_success on success and a status describing the error otherwise.

dnnl_status_t DNNL_API dnnl_softmax_backward_desc_init(
    dnnl_softmax_desc_t* softmax_desc,
    const dnnl_memory_desc_t* diff_data_desc,
    const dnnl_memory_desc_t* data_desc,
    int softmax_axis
    )

Initializes a descriptor for softmax backward propagation primitive.

Parameters:

softmax_desc

Output descriptor for a softmax primitive.

diff_data_desc

Diff source and diff destination memory descriptors.

data_desc

Destination memory descriptor.

softmax_axis

Axis over which softmax is computed.

Returns:

dnnl_success on success and a status describing the error otherwise.