update Activation op doc

This commit is contained in:
LiWanpeng 2026-07-29 16:40:59 +08:00
parent 30b7d98acb
commit 9d67502582
7 changed files with 28 additions and 196 deletions

Binary file not shown.

View File

@ -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 <stdio.h>
#include <activation.h>

View File

@ -325,22 +325,6 @@
\[output_i = \min(\max(0, input_i),6)\]</div>
</div></blockquote>
</li>
<li><p><code class="docutils literal notranslate"><span class="pre">Clip</span></code> - 将输入裁剪到区间 [min_val, max_val]</p>
<blockquote>
<div><div class="math notranslate nohighlight">
\[output_i = \min(\max(input_i, \text{min\_val}), \text{max\_val})\]</div>
</div></blockquote>
</li>
<li><p><code class="docutils literal notranslate"><span class="pre">LRelu</span></code> - 带泄露的线性整流单元Leaky Rectified Linear Unit它在输入为正时保持线性在输入为负时也保留一个很小的斜率以避免标准 ReLU 中的“死亡神经元”问题。</p>
<blockquote>
<div><div class="math notranslate nohighlight">
\[\begin{split}output_i =
\begin{cases}
input_i, &amp; input_i \ge 0 \\
\alpha \cdot input_i, &amp; input_i &lt; 0
\end{cases}\end{split}\]</div>
</div></blockquote>
</li>
<li><p><code class="docutils literal notranslate"><span class="pre">Sigmoid</span></code> - 常用的平滑非线性激活函数(又称逻辑函数),可以将任意实数映射到区间 <span class="math notranslate nohighlight">\((0, 1)\)</span>,常用于二分类问题的输出层,表示概率意义的结果。</p>
<blockquote>
<div><div class="math notranslate nohighlight">
@ -409,17 +393,6 @@ input_i \,\Phi(input_i)
\end{cases}\end{split}\]</div>
</div></blockquote>
</li>
<li><p><code class="docutils literal notranslate"><span class="pre">Elu</span></code> - 在输入为正时保持线性,在输入为负时呈指数衰减,可缓解 ReLU 的“死亡神经元”问题。</p>
<blockquote>
<div><div class="math notranslate nohighlight">
\[\begin{split}output_i =
\begin{cases}
input_i, &amp; input_i &gt;= 0 \\
\alpha (e^{input_i} - 1), &amp; input_i &lt; 0
\end{cases}\end{split}\]</div>
</div></blockquote>
<p>其中 <span class="math notranslate nohighlight">\(\alpha\)</span> 为超参数,通常取 <span class="math notranslate nohighlight">\(\alpha = 1.0\)</span></p>
</li>
<li><p><code class="docutils literal notranslate"><span class="pre">Celu</span></code> - 连续指数线性单元Continuously Differentiable ELU<code class="docutils literal notranslate"><span class="pre">ELU</span></code> 的改进版本,保证在零点处连续可导。</p>
<blockquote>
<div><div class="math notranslate nohighlight">
@ -464,7 +437,10 @@ input_i + \lambda, &amp; \text{if } input_i &lt; -\lambda \\
<dt>输入:</dt><dd><ul class="simple">
<li><p><strong>Input0</strong> - 输入数据地址。</p></li>
<li><p><strong>length</strong> - 数组长度。</p></li>
<li><p><strong>args(部分激活函数)</strong> - 激活函数计算参数(仅适用于部分函数)。</p></li>
<li><p><strong>alpha (float, 可选)</strong> - Celu 激活函数所需的系数。</p></li>
<li><p><strong>lambd (float, 可选)</strong> - HardShrink、SoftShrink 激活函数所需的阈值。</p></li>
<li><p><strong>min_val / max_val (float, 可选)</strong> - HardTanh 激活函数所需的边界值。</p></li>
<li><p><strong>approximate (int, 可选)</strong> - Gelu 激活函数的近似计算标志。</p></li>
<li><p><strong>core_mask(int, 可选)</strong> - 核掩码(仅适用于共享存储版本)。</p></li>
</ul>
</dd>
@ -514,36 +490,6 @@ input_i + \lambda, &amp; \text{if } input_i &lt; -\lambda \\
<span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">hp_relu6_s</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">half</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">Input0</span></span>, <span class="n"><span class="pre">half</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">output</span></span>, <span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="n"><span class="pre">length</span></span>, <span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="n"><span class="pre">core_mask</span></span><span class="sig-paren">)</span><a class="headerlink" href="#c.hp_relu6_s" title="永久链接至目标"></a><br /></dt>
<dd></dd></dl>
<dl class="c function">
<dt class="sig sig-object c" id="c.i8_clip_s">
<span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">i8_clip_s</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">int8_t</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">Input0</span></span>, <span class="n"><span class="pre">int8_t</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">output</span></span>, <span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="n"><span class="pre">length</span></span>, <span class="n"><span class="pre">int8_t</span></span><span class="w"> </span><span class="n"><span class="pre">min_val</span></span>, <span class="n"><span class="pre">int8_t</span></span><span class="w"> </span><span class="n"><span class="pre">max_val</span></span>, <span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="n"><span class="pre">core_mask</span></span><span class="sig-paren">)</span><a class="headerlink" href="#c.i8_clip_s" title="永久链接至目标"></a><br /></dt>
<dd></dd></dl>
<dl class="c function">
<dt class="sig sig-object c" id="c.fp_clip_s">
<span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">fp_clip_s</span></span></span><span class="sig-paren">(</span><span class="kt"><span class="pre">float</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">Input0</span></span>, <span class="kt"><span class="pre">float</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">output</span></span>, <span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="n"><span class="pre">length</span></span>, <span class="kt"><span class="pre">float</span></span><span class="w"> </span><span class="n"><span class="pre">min_val</span></span>, <span class="kt"><span class="pre">float</span></span><span class="w"> </span><span class="n"><span class="pre">max_val</span></span>, <span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="n"><span class="pre">core_mask</span></span><span class="sig-paren">)</span><a class="headerlink" href="#c.fp_clip_s" title="永久链接至目标"></a><br /></dt>
<dd></dd></dl>
<dl class="c function">
<dt class="sig sig-object c" id="c.hp_clip_s">
<span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">hp_clip_s</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">half</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">Input0</span></span>, <span class="n"><span class="pre">half</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">output</span></span>, <span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="n"><span class="pre">length</span></span>, <span class="n"><span class="pre">half</span></span><span class="w"> </span><span class="n"><span class="pre">min_val</span></span>, <span class="n"><span class="pre">half</span></span><span class="w"> </span><span class="n"><span class="pre">max_val</span></span>, <span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="n"><span class="pre">core_mask</span></span><span class="sig-paren">)</span><a class="headerlink" href="#c.hp_clip_s" title="永久链接至目标"></a><br /></dt>
<dd></dd></dl>
<dl class="c function">
<dt class="sig sig-object c" id="c.i8_lrelu_s">
<span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">i8_lrelu_s</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">int8_t</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">Input0</span></span>, <span class="n"><span class="pre">int8_t</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">output</span></span>, <span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="n"><span class="pre">length</span></span>, <span class="kt"><span class="pre">float</span></span><span class="w"> </span><span class="n"><span class="pre">alpha</span></span>, <span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="n"><span class="pre">core_mask</span></span><span class="sig-paren">)</span><a class="headerlink" href="#c.i8_lrelu_s" title="永久链接至目标"></a><br /></dt>
<dd></dd></dl>
<dl class="c function">
<dt class="sig sig-object c" id="c.fp_lrelu_s">
<span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">fp_lrelu_s</span></span></span><span class="sig-paren">(</span><span class="kt"><span class="pre">float</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">Input0</span></span>, <span class="kt"><span class="pre">float</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">output</span></span>, <span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="n"><span class="pre">length</span></span>, <span class="kt"><span class="pre">float</span></span><span class="w"> </span><span class="n"><span class="pre">alpha</span></span>, <span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="n"><span class="pre">core_mask</span></span><span class="sig-paren">)</span><a class="headerlink" href="#c.fp_lrelu_s" title="永久链接至目标"></a><br /></dt>
<dd></dd></dl>
<dl class="c function">
<dt class="sig sig-object c" id="c.hp_lrelu_s">
<span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">hp_lrelu_s</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">half</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">Input0</span></span>, <span class="n"><span class="pre">half</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">output</span></span>, <span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="n"><span class="pre">length</span></span>, <span class="n"><span class="pre">half</span></span><span class="w"> </span><span class="n"><span class="pre">alpha</span></span>, <span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="n"><span class="pre">core_mask</span></span><span class="sig-paren">)</span><a class="headerlink" href="#c.hp_lrelu_s" title="永久链接至目标"></a><br /></dt>
<dd></dd></dl>
<dl class="c function">
<dt class="sig sig-object c" id="c.i8_sigmoid_s">
<span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">i8_sigmoid_s</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">int8_t</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">Input0</span></span>, <span class="kt"><span class="pre">float</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">output</span></span>, <span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="n"><span class="pre">length</span></span>, <span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="n"><span class="pre">core_mask</span></span><span class="sig-paren">)</span><a class="headerlink" href="#c.i8_sigmoid_s" title="永久链接至目标"></a><br /></dt>
@ -664,21 +610,6 @@ input_i + \lambda, &amp; \text{if } input_i &lt; -\lambda \\
<span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">hp_softplus_s</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">half</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">Input0</span></span>, <span class="n"><span class="pre">half</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">output</span></span>, <span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="n"><span class="pre">length</span></span>, <span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="n"><span class="pre">core_mask</span></span><span class="sig-paren">)</span><a class="headerlink" href="#c.hp_softplus_s" title="永久链接至目标"></a><br /></dt>
<dd></dd></dl>
<dl class="c function">
<dt class="sig sig-object c" id="c.i8_elu_s">
<span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">i8_elu_s</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">int8_t</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">Input0</span></span>, <span class="kt"><span class="pre">float</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">output</span></span>, <span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="n"><span class="pre">length</span></span>, <span class="kt"><span class="pre">float</span></span><span class="w"> </span><span class="n"><span class="pre">alpha</span></span>, <span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="n"><span class="pre">core_mask</span></span><span class="sig-paren">)</span><a class="headerlink" href="#c.i8_elu_s" title="永久链接至目标"></a><br /></dt>
<dd></dd></dl>
<dl class="c function">
<dt class="sig sig-object c" id="c.fp_elu_s">
<span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">fp_elu_s</span></span></span><span class="sig-paren">(</span><span class="kt"><span class="pre">float</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">Input0</span></span>, <span class="kt"><span class="pre">float</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">output</span></span>, <span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="n"><span class="pre">length</span></span>, <span class="kt"><span class="pre">float</span></span><span class="w"> </span><span class="n"><span class="pre">alpha</span></span>, <span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="n"><span class="pre">core_mask</span></span><span class="sig-paren">)</span><a class="headerlink" href="#c.fp_elu_s" title="永久链接至目标"></a><br /></dt>
<dd></dd></dl>
<dl class="c function">
<dt class="sig sig-object c" id="c.hp_elu_s">
<span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">hp_elu_s</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">half</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">Input0</span></span>, <span class="n"><span class="pre">half</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">output</span></span>, <span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="n"><span class="pre">length</span></span>, <span class="n"><span class="pre">half</span></span><span class="w"> </span><span class="n"><span class="pre">alpha</span></span>, <span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="n"><span class="pre">core_mask</span></span><span class="sig-paren">)</span><a class="headerlink" href="#c.hp_elu_s" title="永久链接至目标"></a><br /></dt>
<dd></dd></dl>
<dl class="c function">
<dt class="sig sig-object c" id="c.i8_celu_s">
<span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">i8_celu_s</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">int8_t</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">Input0</span></span>, <span class="kt"><span class="pre">float</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">output</span></span>, <span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="n"><span class="pre">length</span></span>, <span class="kt"><span class="pre">float</span></span><span class="w"> </span><span class="n"><span class="pre">alpha</span></span>, <span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="n"><span class="pre">core_mask</span></span><span class="sig-paren">)</span><a class="headerlink" href="#c.i8_celu_s" title="永久链接至目标"></a><br /></dt>
@ -787,36 +718,6 @@ input_i + \lambda, &amp; \text{if } input_i &lt; -\lambda \\
<span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">hp_relu6_p</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">half</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">Input0</span></span>, <span class="n"><span class="pre">half</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">output</span></span>, <span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="n"><span class="pre">length</span></span><span class="sig-paren">)</span><a class="headerlink" href="#c.hp_relu6_p" title="永久链接至目标"></a><br /></dt>
<dd></dd></dl>
<dl class="c function">
<dt class="sig sig-object c" id="c.i8_clip_p">
<span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">i8_clip_p</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">int8_t</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">Input0</span></span>, <span class="n"><span class="pre">int8_t</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">output</span></span>, <span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="n"><span class="pre">length</span></span>, <span class="n"><span class="pre">int8_t</span></span><span class="w"> </span><span class="n"><span class="pre">min_val</span></span>, <span class="n"><span class="pre">int8_t</span></span><span class="w"> </span><span class="n"><span class="pre">max_val</span></span><span class="sig-paren">)</span><a class="headerlink" href="#c.i8_clip_p" title="永久链接至目标"></a><br /></dt>
<dd></dd></dl>
<dl class="c function">
<dt class="sig sig-object c" id="c.fp_clip_p">
<span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">fp_clip_p</span></span></span><span class="sig-paren">(</span><span class="kt"><span class="pre">float</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">Input0</span></span>, <span class="kt"><span class="pre">float</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">output</span></span>, <span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="n"><span class="pre">length</span></span>, <span class="kt"><span class="pre">float</span></span><span class="w"> </span><span class="n"><span class="pre">min_val</span></span>, <span class="kt"><span class="pre">float</span></span><span class="w"> </span><span class="n"><span class="pre">max_val</span></span><span class="sig-paren">)</span><a class="headerlink" href="#c.fp_clip_p" title="永久链接至目标"></a><br /></dt>
<dd></dd></dl>
<dl class="c function">
<dt class="sig sig-object c" id="c.hp_clip_p">
<span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">hp_clip_p</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">half</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">Input0</span></span>, <span class="n"><span class="pre">half</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">output</span></span>, <span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="n"><span class="pre">length</span></span>, <span class="n"><span class="pre">half</span></span><span class="w"> </span><span class="n"><span class="pre">min_val</span></span>, <span class="n"><span class="pre">half</span></span><span class="w"> </span><span class="n"><span class="pre">max_val</span></span><span class="sig-paren">)</span><a class="headerlink" href="#c.hp_clip_p" title="永久链接至目标"></a><br /></dt>
<dd></dd></dl>
<dl class="c function">
<dt class="sig sig-object c" id="c.i8_lrelu_p">
<span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">i8_lrelu_p</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">int8_t</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">Input0</span></span>, <span class="n"><span class="pre">int8_t</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">output</span></span>, <span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="n"><span class="pre">length</span></span>, <span class="kt"><span class="pre">float</span></span><span class="w"> </span><span class="n"><span class="pre">alpha</span></span><span class="sig-paren">)</span><a class="headerlink" href="#c.i8_lrelu_p" title="永久链接至目标"></a><br /></dt>
<dd></dd></dl>
<dl class="c function">
<dt class="sig sig-object c" id="c.fp_lrelu_p">
<span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">fp_lrelu_p</span></span></span><span class="sig-paren">(</span><span class="kt"><span class="pre">float</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">Input0</span></span>, <span class="kt"><span class="pre">float</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">output</span></span>, <span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="n"><span class="pre">length</span></span>, <span class="kt"><span class="pre">float</span></span><span class="w"> </span><span class="n"><span class="pre">alpha</span></span><span class="sig-paren">)</span><a class="headerlink" href="#c.fp_lrelu_p" title="永久链接至目标"></a><br /></dt>
<dd></dd></dl>
<dl class="c function">
<dt class="sig sig-object c" id="c.hp_lrelu_p">
<span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">hp_lrelu_p</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">half</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">Input0</span></span>, <span class="n"><span class="pre">half</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">output</span></span>, <span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="n"><span class="pre">length</span></span>, <span class="n"><span class="pre">half</span></span><span class="w"> </span><span class="n"><span class="pre">alpha</span></span><span class="sig-paren">)</span><a class="headerlink" href="#c.hp_lrelu_p" title="永久链接至目标"></a><br /></dt>
<dd></dd></dl>
<dl class="c function">
<dt class="sig sig-object c" id="c.i8_sigmoid_p">
<span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">i8_sigmoid_p</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">int8_t</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">Input0</span></span>, <span class="kt"><span class="pre">float</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">output</span></span>, <span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="n"><span class="pre">length</span></span><span class="sig-paren">)</span><a class="headerlink" href="#c.i8_sigmoid_p" title="永久链接至目标"></a><br /></dt>
@ -937,21 +838,6 @@ input_i + \lambda, &amp; \text{if } input_i &lt; -\lambda \\
<span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">hp_softplus_p</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">half</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">Input0</span></span>, <span class="n"><span class="pre">half</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">output</span></span>, <span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="n"><span class="pre">length</span></span><span class="sig-paren">)</span><a class="headerlink" href="#c.hp_softplus_p" title="永久链接至目标"></a><br /></dt>
<dd></dd></dl>
<dl class="c function">
<dt class="sig sig-object c" id="c.i8_elu_p">
<span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">i8_elu_p</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">int8_t</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">Input0</span></span>, <span class="kt"><span class="pre">float</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">output</span></span>, <span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="n"><span class="pre">length</span></span>, <span class="kt"><span class="pre">float</span></span><span class="w"> </span><span class="n"><span class="pre">alpha</span></span><span class="sig-paren">)</span><a class="headerlink" href="#c.i8_elu_p" title="永久链接至目标"></a><br /></dt>
<dd></dd></dl>
<dl class="c function">
<dt class="sig sig-object c" id="c.fp_elu_p">
<span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">fp_elu_p</span></span></span><span class="sig-paren">(</span><span class="kt"><span class="pre">float</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">Input0</span></span>, <span class="kt"><span class="pre">float</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">output</span></span>, <span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="n"><span class="pre">length</span></span>, <span class="kt"><span class="pre">float</span></span><span class="w"> </span><span class="n"><span class="pre">alpha</span></span><span class="sig-paren">)</span><a class="headerlink" href="#c.fp_elu_p" title="永久链接至目标"></a><br /></dt>
<dd></dd></dl>
<dl class="c function">
<dt class="sig sig-object c" id="c.hp_elu_p">
<span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">hp_elu_p</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">half</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">Input0</span></span>, <span class="n"><span class="pre">half</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">output</span></span>, <span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="n"><span class="pre">length</span></span>, <span class="n"><span class="pre">half</span></span><span class="w"> </span><span class="n"><span class="pre">alpha</span></span><span class="sig-paren">)</span><a class="headerlink" href="#c.hp_elu_p" title="永久链接至目标"></a><br /></dt>
<dd></dd></dl>
<dl class="c function">
<dt class="sig sig-object c" id="c.i8_celu_p">
<span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">i8_celu_p</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">int8_t</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">Input0</span></span>, <span class="kt"><span class="pre">float</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">output</span></span>, <span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="n"><span class="pre">length</span></span>, <span class="kt"><span class="pre">float</span></span><span class="w"> </span><span class="n"><span class="pre">alpha</span></span><span class="sig-paren">)</span><a class="headerlink" href="#c.i8_celu_p" title="永久链接至目标"></a><br /></dt>
@ -1014,7 +900,7 @@ input_i + \lambda, &amp; \text{if } input_i &lt; -\lambda \\
<p><strong>C调用示例</strong></p>
<blockquote>
<div><div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="linenos"> 1</span><span class="c1">//FT78NE示例</span>
<div><div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="linenos"> 1</span><span class="c1">//FT04示例</span>
<span class="linenos"> 2</span><span class="cp">#include</span><span class="w"> </span><span class="cpf">&lt;stdio.h&gt;</span>
<span class="linenos"> 3</span><span class="cp">#include</span><span class="w"> </span><span class="cpf">&lt;activation.h&gt;</span>
<span class="linenos"> 4</span>

View File

@ -1322,9 +1322,9 @@
</li>
<li><a href="functionlib/dsplib/activation.html#c.fp_celu_s">fp_celu_sC function</a>
</li>
<li><a href="functionlib/dsplib/activation.html#c.fp_clip_p">fp_clip_pC function</a>, <a href="functionlib/dsplib/clip.html#c.fp_clip_p">[1]</a>
<li><a href="functionlib/dsplib/clip.html#c.fp_clip_p">fp_clip_pC function</a>
</li>
<li><a href="functionlib/dsplib/activation.html#c.fp_clip_s">fp_clip_sC function</a>, <a href="functionlib/dsplib/clip.html#c.fp_clip_s">[1]</a>
<li><a href="functionlib/dsplib/clip.html#c.fp_clip_s">fp_clip_sC function</a>
</li>
<li><a href="functionlib/dsplib/concat.html#c.fp_concat_p">fp_concat_pC function</a>
</li>
@ -1404,9 +1404,9 @@
</li>
<li><a href="functionlib/dsplib/activation_grad.html#c.fp_elu_grad_s">fp_elu_grad_sC function</a>
</li>
<li><a href="functionlib/dsplib/activation.html#c.fp_elu_p">fp_elu_pC function</a>, <a href="functionlib/dsplib/elu.html#c.fp_elu_p">[1]</a>
<li><a href="functionlib/dsplib/elu.html#c.fp_elu_p">fp_elu_pC function</a>
</li>
<li><a href="functionlib/dsplib/activation.html#c.fp_elu_s">fp_elu_sC function</a>, <a href="functionlib/dsplib/elu.html#c.fp_elu_s">[1]</a>
<li><a href="functionlib/dsplib/elu.html#c.fp_elu_s">fp_elu_sC function</a>
</li>
<li><a href="functionlib/dsplib/embeddinglookup.html#c.fp_embedding_lookup_p">fp_embedding_lookup_pC function</a>
</li>
@ -1616,14 +1616,10 @@
</li>
<li><a href="functionlib/dsplib/activation_grad.html#c.fp_lrelu_grad_s">fp_lrelu_grad_sC function</a>
</li>
<li><a href="functionlib/dsplib/activation.html#c.fp_lrelu_p">fp_lrelu_pC function</a>
</li>
<li><a href="functionlib/dsplib/activation.html#c.fp_lrelu_s">fp_lrelu_sC function</a>
<li><a href="functionlib/dsplib/lrn.html#c.fp_lrn_p">fp_lrn_pC function</a>
</li>
</ul></td>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="functionlib/dsplib/lrn.html#c.fp_lrn_p">fp_lrn_pC function</a>
</li>
<li><a href="functionlib/dsplib/lrn.html#c.fp_lrn_s">fp_lrn_sC function</a>
</li>
<li><a href="functionlib/dsplib/lsh_projection.html#c.fp_lsh_projection_p">fp_lsh_projection_pC function</a>
@ -2190,9 +2186,9 @@
</li>
<li><a href="functionlib/dsplib/activation.html#c.hp_celu_s">hp_celu_sC function</a>
</li>
<li><a href="functionlib/dsplib/activation.html#c.hp_clip_p">hp_clip_pC function</a>, <a href="functionlib/dsplib/clip.html#c.hp_clip_p">[1]</a>
<li><a href="functionlib/dsplib/clip.html#c.hp_clip_p">hp_clip_pC function</a>
</li>
<li><a href="functionlib/dsplib/activation.html#c.hp_clip_s">hp_clip_sC function</a>, <a href="functionlib/dsplib/clip.html#c.hp_clip_s">[1]</a>
<li><a href="functionlib/dsplib/clip.html#c.hp_clip_s">hp_clip_sC function</a>
</li>
<li><a href="functionlib/dsplib/concat.html#c.hp_concat_p">hp_concat_pC function</a>
</li>
@ -2268,9 +2264,9 @@
</li>
<li><a href="functionlib/dsplib/activation_grad.html#c.hp_elu_grad_s">hp_elu_grad_sC function</a>
</li>
<li><a href="functionlib/dsplib/activation.html#c.hp_elu_p">hp_elu_pC function</a>, <a href="functionlib/dsplib/elu.html#c.hp_elu_p">[1]</a>
<li><a href="functionlib/dsplib/elu.html#c.hp_elu_p">hp_elu_pC function</a>
</li>
<li><a href="functionlib/dsplib/activation.html#c.hp_elu_s">hp_elu_sC function</a>, <a href="functionlib/dsplib/elu.html#c.hp_elu_s">[1]</a>
<li><a href="functionlib/dsplib/elu.html#c.hp_elu_s">hp_elu_sC function</a>
</li>
<li><a href="functionlib/dsplib/embeddinglookup.html#c.hp_embedding_lookup_p">hp_embedding_lookup_pC function</a>
</li>
@ -2475,10 +2471,6 @@
<li><a href="functionlib/dsplib/activation_grad.html#c.hp_lrelu_grad_p">hp_lrelu_grad_pC function</a>
</li>
<li><a href="functionlib/dsplib/activation_grad.html#c.hp_lrelu_grad_s">hp_lrelu_grad_sC function</a>
</li>
<li><a href="functionlib/dsplib/activation.html#c.hp_lrelu_p">hp_lrelu_pC function</a>
</li>
<li><a href="functionlib/dsplib/activation.html#c.hp_lrelu_s">hp_lrelu_sC function</a>
</li>
<li><a href="functionlib/dsplib/lrn.html#c.hp_lrn_p">hp_lrn_pC function</a>
</li>
@ -2498,10 +2490,10 @@
</li>
<li><a href="functionlib/dsplib/lstmgraddata.html#c.hp_lstmgraddata_p">hp_lstmgraddata_pC function</a>
</li>
</ul></td>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="functionlib/dsplib/lstmgraddata.html#c.hp_lstmgraddata_s">hp_lstmgraddata_sC function</a>
</li>
</ul></td>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="functionlib/dsplib/lstmgradweight.html#c.hp_lstmgradweight_p">hp_lstmgradweight_pC function</a>
</li>
<li><a href="functionlib/dsplib/lstmgradweight.html#c.hp_lstmgradweight_s">hp_lstmgradweight_sC function</a>
@ -3623,11 +3615,11 @@
<li><a href="functionlib/dsplib/scatter_nd.html#c.i32_scatter_nd_s">i32_scatter_nd_sC function</a>
</li>
<li><a href="functionlib/dsplib/scatter_nd_update.html#c.i32_scatter_nd_update_p">i32_scatter_nd_update_pC function</a>
</li>
<li><a href="functionlib/dsplib/scatter_nd_update.html#c.i32_scatter_nd_update_s">i32_scatter_nd_update_sC function</a>
</li>
</ul></td>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="functionlib/dsplib/scatter_nd_update.html#c.i32_scatter_nd_update_s">i32_scatter_nd_update_sC function</a>
</li>
<li><a href="functionlib/dsplib/select.html#c.i32_select_p">i32_select_pC function</a>
</li>
<li><a href="functionlib/dsplib/select.html#c.i32_select_s">i32_select_sC function</a>
@ -3848,9 +3840,9 @@
</li>
<li><a href="functionlib/dsplib/activation.html#c.i8_celu_s">i8_celu_sC function</a>
</li>
<li><a href="functionlib/dsplib/activation.html#c.i8_clip_p">i8_clip_pC function</a>, <a href="functionlib/dsplib/clip.html#c.i8_clip_p">[1]</a>
<li><a href="functionlib/dsplib/clip.html#c.i8_clip_p">i8_clip_pC function</a>
</li>
<li><a href="functionlib/dsplib/activation.html#c.i8_clip_s">i8_clip_sC function</a>, <a href="functionlib/dsplib/clip.html#c.i8_clip_s">[1]</a>
<li><a href="functionlib/dsplib/clip.html#c.i8_clip_s">i8_clip_sC function</a>
</li>
<li><a href="functionlib/dsplib/concat.html#c.i8_concat_p">i8_concat_pC function</a>
</li>
@ -3894,9 +3886,9 @@
</li>
<li><a href="functionlib/dsplib/eltwise.html#c.i8_eltwise_s">i8_eltwise_sC function</a>
</li>
<li><a href="functionlib/dsplib/activation.html#c.i8_elu_p">i8_elu_pC function</a>, <a href="functionlib/dsplib/elu.html#c.i8_elu_p">[1]</a>
<li><a href="functionlib/dsplib/elu.html#c.i8_elu_p">i8_elu_pC function</a>
</li>
<li><a href="functionlib/dsplib/activation.html#c.i8_elu_s">i8_elu_sC function</a>, <a href="functionlib/dsplib/elu.html#c.i8_elu_s">[1]</a>
<li><a href="functionlib/dsplib/elu.html#c.i8_elu_s">i8_elu_sC function</a>
</li>
<li><a href="functionlib/dsplib/equal.html#c.i8_equal_p">i8_equal_pC function</a>
</li>
@ -4021,10 +4013,6 @@
<li><a href="functionlib/dsplib/logsoftmax.html#c.i8_logsoftmax_p">i8_logsoftmax_pC function</a>
</li>
<li><a href="functionlib/dsplib/logsoftmax.html#c.i8_logsoftmax_s">i8_logsoftmax_sC function</a>
</li>
<li><a href="functionlib/dsplib/activation.html#c.i8_lrelu_p">i8_lrelu_pC function</a>
</li>
<li><a href="functionlib/dsplib/activation.html#c.i8_lrelu_s">i8_lrelu_sC function</a>
</li>
<li><a href="functionlib/dsplib/lsh_projection.html#c.i8_lsh_projection_p">i8_lsh_projection_pC function</a>
</li>

Binary file not shown.

File diff suppressed because one or more lines are too long