update Unsqueeze op doc

This commit is contained in:
LiWanpeng 2026-07-21 16:08:11 +08:00
parent 6c08e51d8a
commit 32cfba8966
8 changed files with 170 additions and 38 deletions

Binary file not shown.

View File

@ -1,12 +1,12 @@
UnSqueeze
Unsqueeze
=================
对输入张量在给定的轴上添加额外维度。由于该算子仅改变张量形状因此其DSP算子的作用是将数据从输入张量完整拷贝到输出张量。
输入:
- **src** - 输入地址
- **total_copy_size** - 计算得到的总共需拷贝的数据量,单位为字节
- **core_mask** - 核掩码。
- **elem_num** - 需要拷贝的元素个数
- **core_mask** - 核掩码(仅共享存储版本使用)
输出:
- **dst** - 输出地址。
@ -19,11 +19,15 @@ UnSqueeze
- FT78NE 支持int8, int16, int32, fp32, fp64, cplx64, cplx128
- MT7004 支持fp16, fp32, int16, int32, cplx64
**共享/私有存储版本:**
**共享存储版本:**
.. c:function:: void anytype_unsqueeze_anycore(void* src, void* dst, int total_copy_size, int core_mask)
各种数据类型、私有及共享空间版本均使用该函数。
.. c:function:: void i8_unsqueeze_s(int8_t* src, int8_t* dst, size_t elem_num, int core_mask)
.. c:function:: void i16_unsqueeze_s(int16_t* src, int16_t* dst, size_t elem_num, int core_mask)
.. c:function:: void i32_unsqueeze_s(int32_t* src, int32_t* dst, size_t elem_num, int core_mask)
.. c:function:: void fp_unsqueeze_s(float* src, float* dst, size_t elem_num, int core_mask)
.. c:function:: void hp_unsqueeze_s(float16* src, float16* dst, size_t elem_num, int core_mask)
.. c:function:: void c64_unsqueeze_s(float* src, float* dst, size_t elem_num, int core_mask)
.. c:function:: void c128_unsqueeze_s(double* src, double* dst, size_t elem_num, int core_mask)
**C调用示例**
@ -31,12 +35,38 @@ UnSqueeze
:linenos:
:emphasize-lines: 8
//MT7004示例
void main(){
int core_mask = 0b1111; // 测试单核时核掩码设置为0b0001即可
int core_num = GetCoreNum(core_mask);
float* src = (float*)0x88000000; // 测试私有空间时地址设置在私有空间内即可
float* src = (float*)0x88000000;
float* dst = (float*)0x98000000;
int shape[3] = {1, 10, 10};
int total_copy_size = shape[0] * shape[1] * shape[2] * sizeof(float);
anytype_unsqueeze_anycore(src, dst, total_copy_size, core_mask);
size_t elem_num = shape[0] * shape[1] * shape[2];
fp_unsqueeze_s(src, dst, elem_num, core_mask);
}
**私有存储版本:**
.. c:function:: void i8_unsqueeze_p(int8_t* src, int8_t* dst, size_t elem_num)
.. c:function:: void i16_unsqueeze_p(int16_t* src, int16_t* dst, size_t elem_num)
.. c:function:: void i32_unsqueeze_p(int32_t* src, int32_t* dst, size_t elem_num)
.. c:function:: void fp_unsqueeze_p(float* src, float* dst, size_t elem_num)
.. c:function:: void hp_unsqueeze_p(float16* src, float16* dst, size_t elem_num)
.. c:function:: void c64_unsqueeze_p(float* src, float* dst, size_t elem_num)
.. c:function:: void c128_unsqueeze_p(double* src, double* dst, size_t elem_num)
**C调用示例**
.. code-block:: c
:linenos:
:emphasize-lines: 7
//MT7004示例
void main(){
float16* src = (float16*)0x10000000;
float16* dst = (float16*)0x10020000;
int shape[3] = {1, 10, 10};
size_t elem_num = shape[0] * shape[1] * shape[2];
hp_unsqueeze_p(src, dst, elem_num);
}

View File

@ -266,7 +266,7 @@
<li class="toctree-l3"><a class="reference internal" href="unique.html">Unique</a></li>
<li class="toctree-l3"><a class="reference internal" href="unsortedsegmentsum.html">UnsortedSegmentSum</a></li>
<li class="toctree-l3"><a class="reference internal" href="unstack.html">Unstack</a></li>
<li class="toctree-l3"><a class="reference internal" href="unsqueeze.html">UnSqueeze</a></li>
<li class="toctree-l3"><a class="reference internal" href="unsqueeze.html">Unsqueeze</a></li>
<li class="toctree-l3"><a class="reference internal" href="where.html">Where</a></li>
<li class="toctree-l3"><a class="reference internal" href="zeroslike.html">ZerosLike</a></li>
<li class="toctree-l3"><a class="reference internal" href="call.html">Call</a></li>
@ -525,7 +525,7 @@
<li class="toctree-l1"><a class="reference internal" href="unique.html">Unique</a></li>
<li class="toctree-l1"><a class="reference internal" href="unsortedsegmentsum.html">UnsortedSegmentSum</a></li>
<li class="toctree-l1"><a class="reference internal" href="unstack.html">Unstack</a></li>
<li class="toctree-l1"><a class="reference internal" href="unsqueeze.html">UnSqueeze</a></li>
<li class="toctree-l1"><a class="reference internal" href="unsqueeze.html">Unsqueeze</a></li>
<li class="toctree-l1"><a class="reference internal" href="where.html">Where</a></li>
<li class="toctree-l1"><a class="reference internal" href="zeroslike.html">ZerosLike</a></li>
<li class="toctree-l1"><a class="reference internal" href="call.html">Call</a></li>

View File

@ -6,7 +6,7 @@
<meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>UnSqueeze &mdash; MindSpore Signal+ 使用手册 alpha 文档</title>
<title>Unsqueeze &mdash; MindSpore Signal+ 使用手册 alpha 文档</title>
<link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=03e43079" />
<link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=e59714d7" />
<link rel="stylesheet" type="text/css" href="../../_static/table.css?v=72b86d3e" />
@ -266,7 +266,7 @@
<li class="toctree-l3"><a class="reference internal" href="unique.html">Unique</a></li>
<li class="toctree-l3"><a class="reference internal" href="unsortedsegmentsum.html">UnsortedSegmentSum</a></li>
<li class="toctree-l3"><a class="reference internal" href="unstack.html">Unstack</a></li>
<li class="toctree-l3 current"><a class="current reference internal" href="#">UnSqueeze</a></li>
<li class="toctree-l3 current"><a class="current reference internal" href="#">Unsqueeze</a></li>
<li class="toctree-l3"><a class="reference internal" href="where.html">Where</a></li>
<li class="toctree-l3"><a class="reference internal" href="zeroslike.html">ZerosLike</a></li>
<li class="toctree-l3"><a class="reference internal" href="call.html">Call</a></li>
@ -297,7 +297,7 @@
<li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li>
<li class="breadcrumb-item"><a href="../index.html">算子库支持</a></li>
<li class="breadcrumb-item"><a href="dsplib_index.html">DSP Library C API Reference</a></li>
<li class="breadcrumb-item active">UnSqueeze</li>
<li class="breadcrumb-item active">Unsqueeze</li>
<li class="wy-breadcrumbs-aside">
<a href="../../_sources/functionlib/dsplib/unsqueeze.rst.txt" rel="nofollow"> 查看页面源码</a>
</li>
@ -309,13 +309,13 @@
<div itemprop="articleBody">
<section id="unsqueeze">
<h1>UnSqueeze<a class="headerlink" href="#unsqueeze" title="此标题的永久链接"></a></h1>
<h1>Unsqueeze<a class="headerlink" href="#unsqueeze" title="此标题的永久链接"></a></h1>
<p>对输入张量在给定的轴上添加额外维度。由于该算子仅改变张量形状因此其DSP算子的作用是将数据从输入张量完整拷贝到输出张量。</p>
<dl class="simple">
<dt>输入:</dt><dd><ul class="simple">
<li><p><strong>src</strong> - 输入地址</p></li>
<li><p><strong>total_copy_size</strong> - 计算得到的总共需拷贝的数据量,单位为字节</p></li>
<li><p><strong>core_mask</strong> - 核掩码。</p></li>
<li><p><strong>elem_num</strong> - 需拷贝的元素个数。</p></li>
<li><p><strong>core_mask</strong> - 核掩码(仅共享存储版本使用)</p></li>
</ul>
</dd>
<dt>输出:</dt><dd><ul class="simple">
@ -333,25 +333,101 @@
<li><p>MT7004 支持fp16, fp32, int16, int32, cplx64</p></li>
</ul>
</div>
<p><strong>共享/私有存储版本:</strong></p>
<p><strong>共享存储版本:</strong></p>
<dl class="c function">
<dt class="sig sig-object c" id="c.anytype_unsqueeze_anycore">
<span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">anytype_unsqueeze_anycore</span></span></span><span class="sig-paren">(</span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">src</span></span>, <span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">dst</span></span>, <span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="n"><span class="pre">total_copy_size</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.anytype_unsqueeze_anycore" title="永久链接至目标"></a><br /></dt>
<dt class="sig sig-object c" id="c.i8_unsqueeze_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_unsqueeze_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">src</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">dst</span></span>, <span class="n"><span class="pre">size_t</span></span><span class="w"> </span><span class="n"><span class="pre">elem_num</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_unsqueeze_s" title="永久链接至目标"></a><br /></dt>
<dd></dd></dl>
<dl class="c function">
<dt class="sig sig-object c" id="c.i16_unsqueeze_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">i16_unsqueeze_s</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">int16_t</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">src</span></span>, <span class="n"><span class="pre">int16_t</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">dst</span></span>, <span class="n"><span class="pre">size_t</span></span><span class="w"> </span><span class="n"><span class="pre">elem_num</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.i16_unsqueeze_s" title="永久链接至目标"></a><br /></dt>
<dd></dd></dl>
<dl class="c function">
<dt class="sig sig-object c" id="c.i32_unsqueeze_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">i32_unsqueeze_s</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">int32_t</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">src</span></span>, <span class="n"><span class="pre">int32_t</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">dst</span></span>, <span class="n"><span class="pre">size_t</span></span><span class="w"> </span><span class="n"><span class="pre">elem_num</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.i32_unsqueeze_s" title="永久链接至目标"></a><br /></dt>
<dd></dd></dl>
<dl class="c function">
<dt class="sig sig-object c" id="c.fp_unsqueeze_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_unsqueeze_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">src</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">dst</span></span>, <span class="n"><span class="pre">size_t</span></span><span class="w"> </span><span class="n"><span class="pre">elem_num</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_unsqueeze_s" title="永久链接至目标"></a><br /></dt>
<dd></dd></dl>
<dl class="c function">
<dt class="sig sig-object c" id="c.hp_unsqueeze_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_unsqueeze_s</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">float16</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">src</span></span>, <span class="n"><span class="pre">float16</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">dst</span></span>, <span class="n"><span class="pre">size_t</span></span><span class="w"> </span><span class="n"><span class="pre">elem_num</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_unsqueeze_s" title="永久链接至目标"></a><br /></dt>
<dd></dd></dl>
<dl class="c function">
<dt class="sig sig-object c" id="c.c64_unsqueeze_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">c64_unsqueeze_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">src</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">dst</span></span>, <span class="n"><span class="pre">size_t</span></span><span class="w"> </span><span class="n"><span class="pre">elem_num</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.c64_unsqueeze_s" title="永久链接至目标"></a><br /></dt>
<dd></dd></dl>
<dl class="c function">
<dt class="sig sig-object c" id="c.c128_unsqueeze_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">c128_unsqueeze_s</span></span></span><span class="sig-paren">(</span><span class="kt"><span class="pre">double</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">src</span></span>, <span class="kt"><span class="pre">double</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">dst</span></span>, <span class="n"><span class="pre">size_t</span></span><span class="w"> </span><span class="n"><span class="pre">elem_num</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.c128_unsqueeze_s" title="永久链接至目标"></a><br /></dt>
<dd></dd></dl>
<p>各种数据类型、私有及共享空间版本均使用该函数。</p>
<p><strong>C调用示例</strong></p>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="linenos">1</span><span class="kt">void</span><span class="w"> </span><span class="nf">main</span><span class="p">(){</span>
<span class="linenos">2</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">core_mask</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mb">0b1111</span><span class="p">;</span><span class="w"> </span><span class="c1">// 测试单核时核掩码设置为0b0001即可</span>
<span class="linenos">3</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">core_num</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">GetCoreNum</span><span class="p">(</span><span class="n">core_mask</span><span class="p">);</span>
<span class="linenos">4</span><span class="w"> </span><span class="kt">float</span><span class="o">*</span><span class="w"> </span><span class="n">src</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">(</span><span class="kt">float</span><span class="o">*</span><span class="p">)</span><span class="mh">0x88000000</span><span class="p">;</span><span class="w"> </span><span class="c1">// 测试私有空间时地址设置在私有空间内即可</span>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="linenos">1</span><span class="c1">//MT7004示例</span>
<span class="linenos">2</span><span class="kt">void</span><span class="w"> </span><span class="nf">main</span><span class="p">(){</span>
<span class="linenos">3</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">core_mask</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mb">0b1111</span><span class="p">;</span><span class="w"> </span><span class="c1">// 测试单核时核掩码设置为0b0001即可</span>
<span class="linenos">4</span><span class="w"> </span><span class="kt">float</span><span class="o">*</span><span class="w"> </span><span class="n">src</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">(</span><span class="kt">float</span><span class="o">*</span><span class="p">)</span><span class="mh">0x88000000</span><span class="p">;</span>
<span class="linenos">5</span><span class="w"> </span><span class="kt">float</span><span class="o">*</span><span class="w"> </span><span class="n">dst</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">(</span><span class="kt">float</span><span class="o">*</span><span class="p">)</span><span class="mh">0x98000000</span><span class="p">;</span>
<span class="linenos">6</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">shape</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">{</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">10</span><span class="p">,</span><span class="w"> </span><span class="mi">10</span><span class="p">};</span>
<span class="linenos">7</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">total_copy_size</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">shape</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="n">shape</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="n">shape</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="k">sizeof</span><span class="p">(</span><span class="kt">float</span><span class="p">);</span>
<span class="hll"><span class="linenos">8</span><span class="w"> </span><span class="n">anytype_unsqueeze_anycore</span><span class="p">(</span><span class="n">src</span><span class="p">,</span><span class="w"> </span><span class="n">dst</span><span class="p">,</span><span class="w"> </span><span class="n">total_copy_size</span><span class="p">,</span><span class="w"> </span><span class="n">core_mask</span><span class="p">);</span>
<span class="linenos">7</span><span class="w"> </span><span class="kt">size_t</span><span class="w"> </span><span class="n">elem_num</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">shape</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="n">shape</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="n">shape</span><span class="p">[</span><span class="mi">2</span><span class="p">];</span>
<span class="hll"><span class="linenos">8</span><span class="w"> </span><span class="n">fp_unsqueeze_s</span><span class="p">(</span><span class="n">src</span><span class="p">,</span><span class="w"> </span><span class="n">dst</span><span class="p">,</span><span class="w"> </span><span class="n">elem_num</span><span class="p">,</span><span class="w"> </span><span class="n">core_mask</span><span class="p">);</span>
</span><span class="linenos">9</span><span class="p">}</span>
</pre></div>
</div>
<p><strong>私有存储版本:</strong></p>
<dl class="c function">
<dt class="sig sig-object c" id="c.i8_unsqueeze_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_unsqueeze_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">src</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">dst</span></span>, <span class="n"><span class="pre">size_t</span></span><span class="w"> </span><span class="n"><span class="pre">elem_num</span></span><span class="sig-paren">)</span><a class="headerlink" href="#c.i8_unsqueeze_p" title="永久链接至目标"></a><br /></dt>
<dd></dd></dl>
<dl class="c function">
<dt class="sig sig-object c" id="c.i16_unsqueeze_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">i16_unsqueeze_p</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">int16_t</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">src</span></span>, <span class="n"><span class="pre">int16_t</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">dst</span></span>, <span class="n"><span class="pre">size_t</span></span><span class="w"> </span><span class="n"><span class="pre">elem_num</span></span><span class="sig-paren">)</span><a class="headerlink" href="#c.i16_unsqueeze_p" title="永久链接至目标"></a><br /></dt>
<dd></dd></dl>
<dl class="c function">
<dt class="sig sig-object c" id="c.i32_unsqueeze_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">i32_unsqueeze_p</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">int32_t</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">src</span></span>, <span class="n"><span class="pre">int32_t</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">dst</span></span>, <span class="n"><span class="pre">size_t</span></span><span class="w"> </span><span class="n"><span class="pre">elem_num</span></span><span class="sig-paren">)</span><a class="headerlink" href="#c.i32_unsqueeze_p" title="永久链接至目标"></a><br /></dt>
<dd></dd></dl>
<dl class="c function">
<dt class="sig sig-object c" id="c.fp_unsqueeze_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_unsqueeze_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">src</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">dst</span></span>, <span class="n"><span class="pre">size_t</span></span><span class="w"> </span><span class="n"><span class="pre">elem_num</span></span><span class="sig-paren">)</span><a class="headerlink" href="#c.fp_unsqueeze_p" title="永久链接至目标"></a><br /></dt>
<dd></dd></dl>
<dl class="c function">
<dt class="sig sig-object c" id="c.hp_unsqueeze_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_unsqueeze_p</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">float16</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">src</span></span>, <span class="n"><span class="pre">float16</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">dst</span></span>, <span class="n"><span class="pre">size_t</span></span><span class="w"> </span><span class="n"><span class="pre">elem_num</span></span><span class="sig-paren">)</span><a class="headerlink" href="#c.hp_unsqueeze_p" title="永久链接至目标"></a><br /></dt>
<dd></dd></dl>
<dl class="c function">
<dt class="sig sig-object c" id="c.c64_unsqueeze_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">c64_unsqueeze_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">src</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">dst</span></span>, <span class="n"><span class="pre">size_t</span></span><span class="w"> </span><span class="n"><span class="pre">elem_num</span></span><span class="sig-paren">)</span><a class="headerlink" href="#c.c64_unsqueeze_p" title="永久链接至目标"></a><br /></dt>
<dd></dd></dl>
<dl class="c function">
<dt class="sig sig-object c" id="c.c128_unsqueeze_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">c128_unsqueeze_p</span></span></span><span class="sig-paren">(</span><span class="kt"><span class="pre">double</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">src</span></span>, <span class="kt"><span class="pre">double</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">dst</span></span>, <span class="n"><span class="pre">size_t</span></span><span class="w"> </span><span class="n"><span class="pre">elem_num</span></span><span class="sig-paren">)</span><a class="headerlink" href="#c.c128_unsqueeze_p" title="永久链接至目标"></a><br /></dt>
<dd></dd></dl>
<p><strong>C调用示例</strong></p>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="linenos">1</span><span class="c1">//MT7004示例</span>
<span class="linenos">2</span><span class="kt">void</span><span class="w"> </span><span class="nf">main</span><span class="p">(){</span>
<span class="linenos">3</span><span class="w"> </span><span class="n">float16</span><span class="o">*</span><span class="w"> </span><span class="n">src</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">(</span><span class="n">float16</span><span class="o">*</span><span class="p">)</span><span class="mh">0x10000000</span><span class="p">;</span>
<span class="linenos">4</span><span class="w"> </span><span class="n">float16</span><span class="o">*</span><span class="w"> </span><span class="n">dst</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">(</span><span class="n">float16</span><span class="o">*</span><span class="p">)</span><span class="mh">0x10020000</span><span class="p">;</span>
<span class="linenos">5</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">shape</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">{</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">10</span><span class="p">,</span><span class="w"> </span><span class="mi">10</span><span class="p">};</span>
<span class="linenos">6</span><span class="w"> </span><span class="kt">size_t</span><span class="w"> </span><span class="n">elem_num</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">shape</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="n">shape</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="n">shape</span><span class="p">[</span><span class="mi">2</span><span class="p">];</span>
<span class="hll"><span class="linenos">7</span><span class="w"> </span><span class="n">hp_unsqueeze_p</span><span class="p">(</span><span class="n">src</span><span class="p">,</span><span class="w"> </span><span class="n">dst</span><span class="p">,</span><span class="w"> </span><span class="n">elem_num</span><span class="p">);</span>
</span><span class="linenos">8</span><span class="p">}</span>
</pre></div>
</div>
</section>

View File

@ -107,8 +107,6 @@
<li><a href="functionlib/dsplib/reverse_sequence.html#c.anytype_reverse_sequence_anycore">anytype_reverse_sequence_anycoreC function</a>
</li>
<li><a href="functionlib/dsplib/reversev2.html#c.anytype_reversev2_anycore">anytype_reversev2_anycoreC function</a>
</li>
<li><a href="functionlib/dsplib/unsqueeze.html#c.anytype_unsqueeze_anycore">anytype_unsqueeze_anycoreC function</a>
</li>
</ul></td>
</tr></table>
@ -407,6 +405,10 @@
<li><a href="functionlib/dsplib/unsortedsegmentsum.html#c.c128_unsorted_segment_sum_p">c128_unsorted_segment_sum_pC function</a>
</li>
<li><a href="functionlib/dsplib/unsortedsegmentsum.html#c.c128_unsorted_segment_sum_s">c128_unsorted_segment_sum_sC function</a>
</li>
<li><a href="functionlib/dsplib/unsqueeze.html#c.c128_unsqueeze_p">c128_unsqueeze_pC function</a>
</li>
<li><a href="functionlib/dsplib/unsqueeze.html#c.c128_unsqueeze_s">c128_unsqueeze_sC function</a>
</li>
<li><a href="functionlib/dsplib/where.html#c.c128_where_p">c128_where_pC function</a>
</li>
@ -713,6 +715,10 @@
<li><a href="functionlib/dsplib/unsortedsegmentsum.html#c.c64_unsorted_segment_sum_p">c64_unsorted_segment_sum_pC function</a>
</li>
<li><a href="functionlib/dsplib/unsortedsegmentsum.html#c.c64_unsorted_segment_sum_s">c64_unsorted_segment_sum_sC function</a>
</li>
<li><a href="functionlib/dsplib/unsqueeze.html#c.c64_unsqueeze_p">c64_unsqueeze_pC function</a>
</li>
<li><a href="functionlib/dsplib/unsqueeze.html#c.c64_unsqueeze_s">c64_unsqueeze_sC function</a>
</li>
<li><a href="functionlib/dsplib/where.html#c.c64_where_p">c64_where_pC function</a>
</li>
@ -1600,10 +1606,10 @@
</li>
<li><a href="functionlib/dsplib/lrn.html#c.fp_lrn_s">fp_lrn_sC function</a>
</li>
</ul></td>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="functionlib/dsplib/lsh_projection.html#c.fp_lsh_projection_p">fp_lsh_projection_pC function</a>
</li>
</ul></td>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="functionlib/dsplib/lsh_projection.html#c.fp_lsh_projection_s">fp_lsh_projection_sC function</a>
</li>
<li><a href="functionlib/dsplib/lstm.html#c.fp_lstm_p">fp_lstm_pC function</a>
@ -2035,6 +2041,10 @@
<li><a href="functionlib/dsplib/unsortedsegmentsum.html#c.fp_unsorted_segment_sum_p">fp_unsorted_segment_sum_pC function</a>
</li>
<li><a href="functionlib/dsplib/unsortedsegmentsum.html#c.fp_unsorted_segment_sum_s">fp_unsorted_segment_sum_sC function</a>
</li>
<li><a href="functionlib/dsplib/unsqueeze.html#c.fp_unsqueeze_p">fp_unsqueeze_pC function</a>
</li>
<li><a href="functionlib/dsplib/unsqueeze.html#c.fp_unsqueeze_s">fp_unsqueeze_sC function</a>
</li>
<li><a href="functionlib/dsplib/where.html#c.fp_where_p">fp_where_pC function</a>
</li>
@ -2438,10 +2448,10 @@
</li>
<li><a href="functionlib/dsplib/matmul_fusion.html#c.hp_matmul_fusion_p">hp_matmul_fusion_pC function</a>
</li>
</ul></td>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="functionlib/dsplib/matmul_fusion.html#c.hp_matmul_fusion_s">hp_matmul_fusion_sC function</a>
</li>
</ul></td>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="functionlib/dsplib/maximumgrad.html#c.hp_maximum_grad_p">hp_maximum_grad_pC function</a>
</li>
<li><a href="functionlib/dsplib/maximumgrad.html#c.hp_maximum_grad_s">hp_maximum_grad_sC function</a>
@ -2819,6 +2829,10 @@
<li><a href="functionlib/dsplib/unique.html#c.hp_Unique_p">hp_Unique_pC function</a>
</li>
<li><a href="functionlib/dsplib/unique.html#c.hp_Unique_s">hp_Unique_sC function</a>
</li>
<li><a href="functionlib/dsplib/unsqueeze.html#c.hp_unsqueeze_p">hp_unsqueeze_pC function</a>
</li>
<li><a href="functionlib/dsplib/unsqueeze.html#c.hp_unsqueeze_s">hp_unsqueeze_sC function</a>
</li>
<li><a href="functionlib/dsplib/where.html#c.hp_where_p">hp_where_pC function</a>
</li>
@ -3233,6 +3247,10 @@
<li><a href="functionlib/dsplib/unsortedsegmentsum.html#c.i16_unsorted_segment_sum_p">i16_unsorted_segment_sum_pC function</a>
</li>
<li><a href="functionlib/dsplib/unsortedsegmentsum.html#c.i16_unsorted_segment_sum_s">i16_unsorted_segment_sum_sC function</a>
</li>
<li><a href="functionlib/dsplib/unsqueeze.html#c.i16_unsqueeze_p">i16_unsqueeze_pC function</a>
</li>
<li><a href="functionlib/dsplib/unsqueeze.html#c.i16_unsqueeze_s">i16_unsqueeze_sC function</a>
</li>
<li><a href="functionlib/dsplib/where.html#c.i16_where_p">i16_where_pC function</a>
</li>
@ -3522,10 +3540,10 @@
</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/select.html#c.i32_select_p">i32_select_pC function</a>
</li>
</ul></td>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="functionlib/dsplib/select.html#c.i32_select_s">i32_select_sC function</a>
</li>
<li><a href="functionlib/dsplib/sin.html#c.i32_sin_p">i32_sin_pC function</a>
@ -3647,6 +3665,10 @@
<li><a href="functionlib/dsplib/unsortedsegmentsum.html#c.i32_unsorted_segment_sum_p">i32_unsorted_segment_sum_pC function</a>
</li>
<li><a href="functionlib/dsplib/unsortedsegmentsum.html#c.i32_unsorted_segment_sum_s">i32_unsorted_segment_sum_sC function</a>
</li>
<li><a href="functionlib/dsplib/unsqueeze.html#c.i32_unsqueeze_p">i32_unsqueeze_pC function</a>
</li>
<li><a href="functionlib/dsplib/unsqueeze.html#c.i32_unsqueeze_s">i32_unsqueeze_sC function</a>
</li>
<li><a href="functionlib/dsplib/where.html#c.i32_where_p">i32_where_pC function</a>
</li>
@ -4203,6 +4225,10 @@
<li><a href="functionlib/dsplib/unsortedsegmentsum.html#c.i8_unsorted_segment_sum_p">i8_unsorted_segment_sum_pC function</a>
</li>
<li><a href="functionlib/dsplib/unsortedsegmentsum.html#c.i8_unsorted_segment_sum_s">i8_unsorted_segment_sum_sC function</a>
</li>
<li><a href="functionlib/dsplib/unsqueeze.html#c.i8_unsqueeze_p">i8_unsqueeze_pC function</a>
</li>
<li><a href="functionlib/dsplib/unsqueeze.html#c.i8_unsqueeze_s">i8_unsqueeze_sC function</a>
</li>
<li><a href="functionlib/dsplib/where.html#c.i8_where_p">i8_where_pC function</a>
</li>

Binary file not shown.

File diff suppressed because one or more lines are too long