diff --git a/master/doctrees/environment.pickle b/master/doctrees/environment.pickle index 18712c10..9c603e54 100644 Binary files a/master/doctrees/environment.pickle and b/master/doctrees/environment.pickle differ diff --git a/master/doctrees/functionlib/dsplib/activation.doctree b/master/doctrees/functionlib/dsplib/activation.doctree index 6d4e807b..bbd209da 100644 Binary files a/master/doctrees/functionlib/dsplib/activation.doctree and b/master/doctrees/functionlib/dsplib/activation.doctree differ diff --git a/master/html/_sources/functionlib/dsplib/activation.rst.txt b/master/html/_sources/functionlib/dsplib/activation.rst.txt index 41d3ae28..ab69ff8c 100644 --- a/master/html/_sources/functionlib/dsplib/activation.rst.txt +++ b/master/html/_sources/functionlib/dsplib/activation.rst.txt @@ -15,22 +15,6 @@ Activation output_i = \min(\max(0, input_i),6) -- ``Clip`` - 将输入裁剪到区间 [min_val, max_val] - - .. math:: - - output_i = \min(\max(input_i, \text{min\_val}), \text{max\_val}) - -- ``LRelu`` - 带泄露的线性整流单元(Leaky Rectified Linear Unit),它在输入为正时保持线性,在输入为负时也保留一个很小的斜率,以避免标准 ReLU 中的“死亡神经元”问题。 - - .. math:: - - output_i = - \begin{cases} - input_i, & input_i \ge 0 \\ - \alpha \cdot input_i, & input_i < 0 - \end{cases} - - ``Sigmoid`` - 常用的平滑非线性激活函数(又称逻辑函数),可以将任意实数映射到区间 :math:`(0, 1)`,常用于二分类问题的输出层,表示概率意义的结果。 .. math:: @@ -101,17 +85,6 @@ Activation \ln(1 + e^{input_i}), & \text{otherwise} \end{cases} -- ``Elu`` - 在输入为正时保持线性,在输入为负时呈指数衰减,可缓解 ReLU 的“死亡神经元”问题。 - - .. math:: - - output_i = - \begin{cases} - input_i, & input_i >= 0 \\ - \alpha (e^{input_i} - 1), & input_i < 0 - \end{cases} - - 其中 :math:`\alpha` 为超参数,通常取 :math:`\alpha = 1.0`。 - ``Celu`` - 连续指数线性单元(Continuously Differentiable ELU),是 ``ELU`` 的改进版本,保证在零点处连续可导。 .. math:: @@ -154,7 +127,10 @@ Activation 输入: - **Input0** - 输入数据地址。 - **length** - 数组长度。 - - **args(部分激活函数)** - 激活函数计算参数(仅适用于部分函数)。 + - **alpha (float, 可选)** - Celu 激活函数所需的系数。 + - **lambd (float, 可选)** - HardShrink、SoftShrink 激活函数所需的阈值。 + - **min_val / max_val (float, 可选)** - HardTanh 激活函数所需的边界值。 + - **approximate (int, 可选)** - Gelu 激活函数的近似计算标志。 - **core_mask(int, 可选)** - 核掩码(仅适用于共享存储版本)。 输出: @@ -176,12 +152,6 @@ Activation .. c:function:: void i8_relu6_s(int8_t* Input0, int8_t* output,int length, int core_mask) .. c:function:: void fp_relu6_s(float* Input0, float* output,int length, int core_mask) .. c:function:: void hp_relu6_s(half* Input0, half* output,int length, int core_mask) -.. c:function:: void i8_clip_s(int8_t* Input0, int8_t* output,int length, int8_t min_val, int8_t max_val, int core_mask) -.. c:function:: void fp_clip_s(float* Input0, float* output,int length, float min_val, float max_val, int core_mask) -.. c:function:: void hp_clip_s(half* Input0, half* output,int length, half min_val, half max_val, int core_mask) -.. c:function:: void i8_lrelu_s(int8_t* Input0, int8_t* output,int length, float alpha, int core_mask) -.. c:function:: void fp_lrelu_s(float* Input0, float* output,int length, float alpha, int core_mask) -.. c:function:: void hp_lrelu_s(half* Input0, half* output,int length, half alpha, int core_mask) .. c:function:: void i8_sigmoid_s(int8_t* Input0, float* output,int length, int core_mask) .. c:function:: void fp_sigmoid_s(float* Input0, float* output,int length, int core_mask) .. c:function:: void hp_sigmoid_s(half* Input0, half* output,int length, int core_mask) @@ -206,9 +176,6 @@ Activation .. c:function:: void i8_softplus_s(int8_t* Input0, float* output,int length, int core_mask) .. c:function:: void fp_softplus_s(float* Input0, float* output,int length, int core_mask) .. c:function:: void hp_softplus_s(half* Input0, half* output,int length, int core_mask) -.. c:function:: void i8_elu_s(int8_t* Input0, float* output,int length, float alpha, int core_mask) -.. c:function:: void fp_elu_s(float* Input0, float* output,int length, float alpha, int core_mask) -.. c:function:: void hp_elu_s(half* Input0, half* output,int length, half alpha, int core_mask) .. c:function:: void i8_celu_s(int8_t* Input0, float* output,int length, float alpha, int core_mask) .. c:function:: void fp_celu_s(float* Input0, float* output,int length, float alpha, int core_mask) .. c:function:: void hp_celu_s(half* Input0, half* output,int length, half alpha, int core_mask) @@ -249,12 +216,6 @@ Activation .. c:function:: void i8_relu6_p(int8_t* Input0, int8_t* output,int length) .. c:function:: void fp_relu6_p(float* Input0, float* output,int length) .. c:function:: void hp_relu6_p(half* Input0, half* output,int length) -.. c:function:: void i8_clip_p(int8_t* Input0, int8_t* output,int length, int8_t min_val, int8_t max_val) -.. c:function:: void fp_clip_p(float* Input0, float* output,int length, float min_val, float max_val) -.. c:function:: void hp_clip_p(half* Input0, half* output,int length, half min_val, half max_val) -.. c:function:: void i8_lrelu_p(int8_t* Input0, int8_t* output,int length, float alpha) -.. c:function:: void fp_lrelu_p(float* Input0, float* output,int length, float alpha) -.. c:function:: void hp_lrelu_p(half* Input0, half* output,int length, half alpha) .. c:function:: void i8_sigmoid_p(int8_t* Input0, float* output,int length) .. c:function:: void fp_sigmoid_p(float* Input0, float* output,int length) .. c:function:: void hp_sigmoid_p(half* Input0, half* output,int length) @@ -279,9 +240,6 @@ Activation .. c:function:: void i8_softplus_p(int8_t* Input0, float* output,int length) .. c:function:: void fp_softplus_p(float* Input0, float* output,int length) .. c:function:: void hp_softplus_p(half* Input0, half* output,int length) -.. c:function:: void i8_elu_p(int8_t* Input0, float* output,int length, float alpha) -.. c:function:: void fp_elu_p(float* Input0, float* output,int length, float alpha) -.. c:function:: void hp_elu_p(half* Input0, half* output,int length, half alpha) .. c:function:: void i8_celu_p(int8_t* Input0, float* output,int length, float alpha) .. c:function:: void fp_celu_p(float* Input0, float* output,int length, float alpha) .. c:function:: void hp_celu_p(half* Input0, half* output,int length, half alpha) @@ -301,7 +259,7 @@ Activation :linenos: :emphasize-lines: 9 - //FT78NE示例 + //FT04示例 #include #include diff --git a/master/html/functionlib/dsplib/activation.html b/master/html/functionlib/dsplib/activation.html index b79082ff..ea4f3efd 100644 --- a/master/html/functionlib/dsplib/activation.html +++ b/master/html/functionlib/dsplib/activation.html @@ -325,22 +325,6 @@ \[output_i = \min(\max(0, input_i),6)\] -
  • Clip - 将输入裁剪到区间 [min_val, max_val]

    -
    -
    -\[output_i = \min(\max(input_i, \text{min\_val}), \text{max\_val})\]
    -
    -
  • -
  • LRelu - 带泄露的线性整流单元(Leaky Rectified Linear Unit),它在输入为正时保持线性,在输入为负时也保留一个很小的斜率,以避免标准 ReLU 中的“死亡神经元”问题。

    -
    -
    -\[\begin{split}output_i = -\begin{cases} -input_i, & input_i \ge 0 \\ -\alpha \cdot input_i, & input_i < 0 -\end{cases}\end{split}\]
    -
    -
  • Sigmoid - 常用的平滑非线性激活函数(又称逻辑函数),可以将任意实数映射到区间 \((0, 1)\),常用于二分类问题的输出层,表示概率意义的结果。

    @@ -409,17 +393,6 @@ input_i \,\Phi(input_i) \end{cases}\end{split}\]
  • -
  • Elu - 在输入为正时保持线性,在输入为负时呈指数衰减,可缓解 ReLU 的“死亡神经元”问题。

    -
    -
    -\[\begin{split}output_i = - \begin{cases} - input_i, & input_i >= 0 \\ - \alpha (e^{input_i} - 1), & input_i < 0 - \end{cases}\end{split}\]
    -
    -

    其中 \(\alpha\) 为超参数,通常取 \(\alpha = 1.0\)

    -
  • Celu - 连续指数线性单元(Continuously Differentiable ELU),是 ELU 的改进版本,保证在零点处连续可导。

    @@ -464,7 +437,10 @@ input_i + \lambda, & \text{if } input_i < -\lambda \\
    输入:
    • Input0 - 输入数据地址。

    • length - 数组长度。

    • -
    • args(部分激活函数) - 激活函数计算参数(仅适用于部分函数)。

    • +
    • alpha (float, 可选) - Celu 激活函数所需的系数。

    • +
    • lambd (float, 可选) - HardShrink、SoftShrink 激活函数所需的阈值。

    • +
    • min_val / max_val (float, 可选) - HardTanh 激活函数所需的边界值。

    • +
    • approximate (int, 可选) - Gelu 激活函数的近似计算标志。

    • core_mask(int, 可选) - 核掩码(仅适用于共享存储版本)。

    @@ -514,36 +490,6 @@ input_i + \lambda, & \text{if } input_i < -\lambda \\ void hp_relu6_s(half *Input0, half *output, int length, int core_mask)
    -
    -
    -void i8_clip_s(int8_t *Input0, int8_t *output, int length, int8_t min_val, int8_t max_val, int core_mask)
    -
    - -
    -
    -void fp_clip_s(float *Input0, float *output, int length, float min_val, float max_val, int core_mask)
    -
    - -
    -
    -void hp_clip_s(half *Input0, half *output, int length, half min_val, half max_val, int core_mask)
    -
    - -
    -
    -void i8_lrelu_s(int8_t *Input0, int8_t *output, int length, float alpha, int core_mask)
    -
    - -
    -
    -void fp_lrelu_s(float *Input0, float *output, int length, float alpha, int core_mask)
    -
    - -
    -
    -void hp_lrelu_s(half *Input0, half *output, int length, half alpha, int core_mask)
    -
    -
    void i8_sigmoid_s(int8_t *Input0, float *output, int length, int core_mask)
    @@ -664,21 +610,6 @@ input_i + \lambda, & \text{if } input_i < -\lambda \\ void hp_softplus_s(half *Input0, half *output, int length, int core_mask)
    -
    -
    -void i8_elu_s(int8_t *Input0, float *output, int length, float alpha, int core_mask)
    -
    - -
    -
    -void fp_elu_s(float *Input0, float *output, int length, float alpha, int core_mask)
    -
    - -
    -
    -void hp_elu_s(half *Input0, half *output, int length, half alpha, int core_mask)
    -
    -
    void i8_celu_s(int8_t *Input0, float *output, int length, float alpha, int core_mask)
    @@ -787,36 +718,6 @@ input_i + \lambda, & \text{if } input_i < -\lambda \\ void hp_relu6_p(half *Input0, half *output, int length)
    -
    -
    -void i8_clip_p(int8_t *Input0, int8_t *output, int length, int8_t min_val, int8_t max_val)
    -
    - -
    -
    -void fp_clip_p(float *Input0, float *output, int length, float min_val, float max_val)
    -
    - -
    -
    -void hp_clip_p(half *Input0, half *output, int length, half min_val, half max_val)
    -
    - -
    -
    -void i8_lrelu_p(int8_t *Input0, int8_t *output, int length, float alpha)
    -
    - -
    -
    -void fp_lrelu_p(float *Input0, float *output, int length, float alpha)
    -
    - -
    -
    -void hp_lrelu_p(half *Input0, half *output, int length, half alpha)
    -
    -
    void i8_sigmoid_p(int8_t *Input0, float *output, int length)
    @@ -937,21 +838,6 @@ input_i + \lambda, & \text{if } input_i < -\lambda \\ void hp_softplus_p(half *Input0, half *output, int length)
    -
    -
    -void i8_elu_p(int8_t *Input0, float *output, int length, float alpha)
    -
    - -
    -
    -void fp_elu_p(float *Input0, float *output, int length, float alpha)
    -
    - -
    -
    -void hp_elu_p(half *Input0, half *output, int length, half alpha)
    -
    -
    void i8_celu_p(int8_t *Input0, float *output, int length, float alpha)
    @@ -1014,7 +900,7 @@ input_i + \lambda, & \text{if } input_i < -\lambda \\

    C调用示例:

    -
     1//FT78NE示例
    +
     1//FT04示例
      2#include <stdio.h>
      3#include <activation.h>
      4
    diff --git a/master/html/genindex.html b/master/html/genindex.html
    index b136a259..549e61c4 100644
    --- a/master/html/genindex.html
    +++ b/master/html/genindex.html
    @@ -1322,9 +1322,9 @@
     
  • fp_celu_s(C function)
  • -
  • fp_clip_p(C function), [1] +
  • fp_clip_p(C function)
  • -
  • fp_clip_s(C function), [1] +
  • fp_clip_s(C function)
  • fp_concat_p(C function)
  • @@ -1404,9 +1404,9 @@
  • fp_elu_grad_s(C function)
  • -
  • fp_elu_p(C function), [1] +
  • fp_elu_p(C function)
  • -
  • fp_elu_s(C function), [1] +
  • fp_elu_s(C function)
  • fp_embedding_lookup_p(C function)
  • @@ -1616,14 +1616,10 @@
  • fp_lrelu_grad_s(C function)
  • -
  • fp_lrelu_p(C function) -
  • -
  • fp_lrelu_s(C function) +
  • fp_lrn_p(C function)
  • - +