mxnet
|
Functions | |
mkldnn_status_t MKLDNN_API | mkldnn_post_ops_create (mkldnn_post_ops_t *post_ops) |
mkldnn_status_t MKLDNN_API | mkldnn_post_ops_destroy (mkldnn_post_ops_t post_ops) |
int MKLDNN_API | mkldnn_post_ops_len (const_mkldnn_post_ops_t post_ops) |
mkldnn_primitive_kind_t MKLDNN_API | mkldnn_post_ops_get_kind (const_mkldnn_post_ops_t post_ops, int index) |
mkldnn_status_t MKLDNN_API | mkldnn_post_ops_append_sum (mkldnn_post_ops_t post_ops, float scale) |
mkldnn_status_t MKLDNN_API | mkldnn_post_ops_get_params_sum (const_mkldnn_post_ops_t post_ops, int index, float *scale) |
mkldnn_status_t MKLDNN_API | mkldnn_post_ops_append_eltwise (mkldnn_post_ops_t post_ops, float scale, mkldnn_alg_kind_t alg, float alpha, float beta) |
mkldnn_status_t MKLDNN_API | mkldnn_post_ops_get_params_eltwise (const_mkldnn_post_ops_t post_ops, int index, float *scale, mkldnn_alg_kind_t *alg, float *alpha, float *beta) |
An extension for performing extra operations after a base operation.
mkldnn_status_t MKLDNN_API mkldnn_post_ops_append_eltwise | ( | mkldnn_post_ops_t | post_ops, |
float | scale, | ||
mkldnn_alg_kind_t | alg, | ||
float | alpha, | ||
float | beta | ||
) |
Appends eltwise post operation to the post_ops
with given parameters kind
, alpha
, and beta
(
The kind of this post operation is mkldnn_eltwise.
In the simplest case when the eltwise is the only post operation, the computations would be: dst[] <- scale * eltwise_op ( op(...) ) // instead of dst[] <- op(...) where eltwise_op is configured with the given parameters.
mkldnn_status_t MKLDNN_API mkldnn_post_ops_append_sum | ( | mkldnn_post_ops_t | post_ops, |
float | scale | ||
) |
Appends accumulation (sum) post operation to the post_ops
. Prior to accumulating the result, the previous value would be multiplied by scale
.
The kind of this post operation is mkldnn_sum.
This feature might improve performance for cases like residual learning blocks, where the result of convolution is accumulated to the previously computed activations. The parameter scale
might be extreme for the integer-based computations when the result and previous activations have different logical scaling factors.
In the simplest case when the accumulation is the only post operation, the computations would be: dst[] <- scale * dst[] + op(...) // instead of dst[] <- op(...)
mkldnn_status_t MKLDNN_API mkldnn_post_ops_create | ( | mkldnn_post_ops_t * | post_ops | ) |
Creates an empty sequence of post operations post_ops
.
mkldnn_status_t MKLDNN_API mkldnn_post_ops_destroy | ( | mkldnn_post_ops_t | post_ops | ) |
Deletes a post_ops
sequence.
mkldnn_primitive_kind_t MKLDNN_API mkldnn_post_ops_get_kind | ( | const_mkldnn_post_ops_t | post_ops, |
int | index | ||
) |
Returns the type of post operation with index index
in given post_ops
. In case of error, returns mkldnn_undefined_primitive.
mkldnn_status_t MKLDNN_API mkldnn_post_ops_get_params_eltwise | ( | const_mkldnn_post_ops_t | post_ops, |
int | index, | ||
float * | scale, | ||
mkldnn_alg_kind_t * | alg, | ||
float * | alpha, | ||
float * | beta | ||
) |
Gets the eltwise parameters of the post operation with index index
in the sequence of post_ops
.
mkldnn_status_t MKLDNN_API mkldnn_post_ops_get_params_sum | ( | const_mkldnn_post_ops_t | post_ops, |
int | index, | ||
float * | scale | ||
) |
Gets the parameters of the accumulation (sum) post operation with index index
in the sequence of post_ops
.
index
would not correspond to the accumulation post operation, the function returns mkldnn_invalid_arguments. int MKLDNN_API mkldnn_post_ops_len | ( | const_mkldnn_post_ops_t | post_ops | ) |
Returns the length
of post operations for given post_ops
.