diff options
author | Xuewei Meng <xwmeng96@gmail.com> | 2019-05-21 14:52:49 +0800 |
---|---|---|
committer | Steven Liu <lq@chinaffmpeg.org> | 2019-05-22 10:28:07 +0800 |
commit | ecc096513c32119341a1240b67778f3e24b4293e (patch) | |
tree | 1ee13847a020eef66c8637baedfbaf72b4f6b510 | |
parent | e45e6005ce6adbb91bf0a0a7194a8575650f0e31 (diff) | |
download | ffmpeg-ecc096513c32119341a1240b67778f3e24b4293e.tar.gz |
libavfilter/dnn_native: Add multiple activation functions in dnn native
Add "Leaky_relu" and "None" option in activation function.
Reviewed-by: Guo, Yejun <yejun.guo@intel.com>
Signed-off-by: Xuewei Meng <xwmeng96@gmail.com>
Signed-off-by: Steven Liu <lq@onvideo.cn>
-rw-r--r-- | libavfilter/dnn_backend_native.c | 5 | ||||
-rw-r--r-- | libavfilter/dnn_backend_native.h | 2 |
2 files changed, 6 insertions, 1 deletions
diff --git a/libavfilter/dnn_backend_native.c b/libavfilter/dnn_backend_native.c index fa3f20e4a2..3c8465a283 100644 --- a/libavfilter/dnn_backend_native.c +++ b/libavfilter/dnn_backend_native.c @@ -270,6 +270,11 @@ static void convolve(const float *input, float *output, const ConvolutionalParam break; case SIGMOID: output[n_filter] = 1.0f / (1.0f + exp(-output[n_filter])); + break; + case NONE: + break; + case LEAKY_RELU: + output[n_filter] = FFMAX(output[n_filter], 0.0) + 0.2 * FFMIN(output[n_filter], 0.0); } } output += conv_params->output_num; diff --git a/libavfilter/dnn_backend_native.h b/libavfilter/dnn_backend_native.h index d70cd16387..7e4e943137 100644 --- a/libavfilter/dnn_backend_native.h +++ b/libavfilter/dnn_backend_native.h @@ -32,7 +32,7 @@ typedef enum {INPUT, CONV, DEPTH_TO_SPACE} DNNLayerType; -typedef enum {RELU, TANH, SIGMOID} DNNActivationFunc; +typedef enum {RELU, TANH, SIGMOID, NONE, LEAKY_RELU} DNNActivationFunc; typedef enum {VALID, SAME, SAME_CLAMP_TO_EDGE} DNNConvPaddingParam; |