提交 27deec17 编写于 作者: W wanghaoshuang

Deployed 7790b333 with MkDocs version: 1.0.4

上级 62b5f173
...@@ -74,6 +74,10 @@ ...@@ -74,6 +74,10 @@
</li> </li>
<li class=""> <li class="">
<a class="" href="/tutorials/search_space.md">搜索空间</a>
</li>
<li class="">
<a class="" href="/tutorials/distillation_demo/">知识蒸馏</a> <a class="" href="/tutorials/distillation_demo/">知识蒸馏</a>
</li> </li>
</ul> </ul>
...@@ -105,10 +109,6 @@ ...@@ -105,10 +109,6 @@
</li> </li>
<li class=""> <li class="">
<a class="" href="/search_space/">搜索空间</a>
</li>
<li class="">
<a class="" href="/table_latency/">硬件延时评估表</a> <a class="" href="/table_latency/">硬件延时评估表</a>
</li> </li>
</ul> </ul>
......
...@@ -81,6 +81,10 @@ ...@@ -81,6 +81,10 @@
</li> </li>
<li class=""> <li class="">
<a class="" href="../../tutorials/search_space.md">搜索空间</a>
</li>
<li class="">
<a class="" href="../../tutorials/distillation_demo/">知识蒸馏</a> <a class="" href="../../tutorials/distillation_demo/">知识蒸馏</a>
</li> </li>
</ul> </ul>
...@@ -112,10 +116,6 @@ ...@@ -112,10 +116,6 @@
</li> </li>
<li class=""> <li class="">
<a class="" href="../../search_space/">搜索空间</a>
</li>
<li class="">
<a class="" href="../../table_latency/">硬件延时评估表</a> <a class="" href="../../table_latency/">硬件延时评估表</a>
</li> </li>
</ul> </ul>
......
...@@ -81,6 +81,10 @@ ...@@ -81,6 +81,10 @@
</li> </li>
<li class=""> <li class="">
<a class="" href="../../tutorials/search_space.md">搜索空间</a>
</li>
<li class="">
<a class="" href="../../tutorials/distillation_demo/">知识蒸馏</a> <a class="" href="../../tutorials/distillation_demo/">知识蒸馏</a>
</li> </li>
</ul> </ul>
...@@ -124,10 +128,6 @@ ...@@ -124,10 +128,6 @@
</li> </li>
<li class=""> <li class="">
<a class="" href="../../search_space/">搜索空间</a>
</li>
<li class="">
<a class="" href="../../table_latency/">硬件延时评估表</a> <a class="" href="../../table_latency/">硬件延时评估表</a>
</li> </li>
</ul> </ul>
......
...@@ -81,6 +81,10 @@ ...@@ -81,6 +81,10 @@
</li> </li>
<li class=""> <li class="">
<a class="" href="../../tutorials/search_space.md">搜索空间</a>
</li>
<li class="">
<a class="" href="../../tutorials/distillation_demo/">知识蒸馏</a> <a class="" href="../../tutorials/distillation_demo/">知识蒸馏</a>
</li> </li>
</ul> </ul>
...@@ -112,10 +116,6 @@ ...@@ -112,10 +116,6 @@
</li> </li>
<li class=""> <li class="">
<a class="" href="../../search_space/">搜索空间</a>
</li>
<li class="">
<a class="" href="../../table_latency/">硬件延时评估表</a> <a class="" href="../../table_latency/">硬件延时评估表</a>
</li> </li>
</ul> </ul>
......
...@@ -81,6 +81,10 @@ ...@@ -81,6 +81,10 @@
</li> </li>
<li class=""> <li class="">
<a class="" href="../../tutorials/search_space.md">搜索空间</a>
</li>
<li class="">
<a class="" href="../../tutorials/distillation_demo/">知识蒸馏</a> <a class="" href="../../tutorials/distillation_demo/">知识蒸馏</a>
</li> </li>
</ul> </ul>
...@@ -121,10 +125,6 @@ ...@@ -121,10 +125,6 @@
</li> </li>
<li class=""> <li class="">
<a class="" href="../../search_space/">搜索空间</a>
</li>
<li class="">
<a class="" href="../../table_latency/">硬件延时评估表</a> <a class="" href="../../table_latency/">硬件延时评估表</a>
</li> </li>
</ul> </ul>
...@@ -178,25 +178,23 @@ ...@@ -178,25 +178,23 @@
<p>通过参数配置搜索空间。更多搜索空间的使用可以参考<a href="../../search_space/">search_space</a></p> <p>通过参数配置搜索空间。更多搜索空间的使用可以参考<a href="../../search_space/">search_space</a></p>
<p><strong>参数:</strong></p> <p><strong>参数:</strong></p>
<ul> <ul>
<li><strong>input_size(int|None)</strong>:- <code>input_size</code>表示输入feature map的大小。</li> <li><strong>input_size(int|None)</strong>:- <code>input_size</code>表示输入feature map的大小。<code>input_size</code><code>output_size</code>用来计算整个模型结构中下采样次数。</li>
<li><strong>output_size(int|None)</strong>:- <code>output_size</code>表示输出feature map的大小。</li> <li><strong>output_size(int|None)</strong>:- <code>output_size</code>表示输出feature map的大小。<code>input_size</code><code>output_size</code>用来计算整个模型结构中下采样次数。</li>
<li><strong>block_num(int|None)</strong>:- <code>block_num</code>表示搜索空间中block的数量。</li> <li><strong>block_num(int|None)</strong>:- <code>block_num</code>表示搜索空间中block的数量。</li>
<li><strong>block_mask(list|None)</strong>:- <code>block_mask</code>是一组由0、1组成的列表,0表示当前block是normal block,1表示当前block是reduction block。如果设置了<code>block_mask</code>,则主要以<code>block_mask</code>为主要配置,<code>input_size</code><code>output_size</code><code>block_num</code>三种配置是无效的。</li> <li><strong>block_mask(list|None)</strong>:- <code>block_mask</code>是一组由0、1组成的列表,0表示当前block是normal block,1表示当前block是reduction block。reduction block表示经过这个block之后的feature map大小下降为之前的一半,normal block表示经过这个block之后feature map大小不变。如果设置了<code>block_mask</code>,则主要以<code>block_mask</code>为主要配置,<code>input_size</code><code>output_size</code><code>block_num</code>三种配置是无效的。</li>
</ul> </ul>
<p>Note:<br>
1. reduction block表示经过这个block之后的feature map大小下降为之前的一半,normal block表示经过这个block之后feature map大小不变。<br>
2. <code>input_size</code><code>output_size</code>用来计算整个模型结构中reduction block数量。</p>
<h2 id="sanas">SANAS<a class="headerlink" href="#sanas" title="Permanent link">#</a></h2> <h2 id="sanas">SANAS<a class="headerlink" href="#sanas" title="Permanent link">#</a></h2>
<dl> <dl>
<dt>paddleslim.nas.SANAS(configs, server_addr=("", 8881), init_temperature=100, reduce_rate=0.85, search_steps=300, save_checkpoint='./nas_checkpoint', load_checkpoint=None, is_server=True)<a href="https://github.com/PaddlePaddle/PaddleSlim/blob/develop/paddleslim/nas/sa_nas.py#L36">源代码</a></dt> <dt>paddleslim.nas.SANAS(configs, server_addr=("", 8881), init_temperature=None, reduce_rate=0.85, init_tokens=None, search_steps=300, save_checkpoint='./nas_checkpoint', load_checkpoint=None, is_server=True)<a href="https://github.com/PaddlePaddle/PaddleSlim/blob/develop/paddleslim/nas/sa_nas.py#L36">源代码</a></dt>
<dd>SANAS(Simulated Annealing Neural Architecture Search)是基于模拟退火算法进行模型结构搜索的算法,一般用于离散搜索任务。</dd> <dd>SANAS(Simulated Annealing Neural Architecture Search)是基于模拟退火算法进行模型结构搜索的算法,一般用于离散搜索任务。</dd>
</dl> </dl>
<p><strong>参数:</strong></p> <p><strong>参数:</strong></p>
<ul> <ul>
<li><strong>configs(list<tuple>)</strong> - 搜索空间配置列表,格式是<code>[(key, {input_size, output_size, block_num, block_mask})]</code>或者<code>[(key)]</code>(MobileNetV2、MobilenetV1和ResNet的搜索空间使用和原本网络结构相同的搜索空间,所以仅需指定<code>key</code>即可), <code>input_size</code><code>output_size</code>表示输入和输出的特征图的大小,<code>block_num</code>是指搜索网络中的block数量,<code>block_mask</code>是一组由0和1组成的列表,0代表不进行下采样的block,1代表下采样的block。 更多paddleslim提供的搜索空间配置可以参考。</li> <li><strong>configs(list<tuple>)</strong> - 搜索空间配置列表,格式是<code>[(key, {input_size, output_size, block_num, block_mask})]</code>或者<code>[(key)]</code>(MobileNetV2、MobilenetV1和ResNet的搜索空间使用和原本网络结构相同的搜索空间,所以仅需指定<code>key</code>即可), <code>input_size</code><code>output_size</code>表示输入和输出的特征图的大小,<code>block_num</code>是指搜索网络中的block数量,<code>block_mask</code>是一组由0和1组成的列表,0代表不进行下采样的block,1代表下采样的block。 更多paddleslim提供的搜索空间配置可以参考<a href="../../search_space/">Search Space</a></li>
<li><strong>server_addr(tuple)</strong> - SANAS的地址,包括server的ip地址和端口号,如果ip地址为None或者为""的话则默认使用本机ip。默认:("", 8881)。</li> <li><strong>server_addr(tuple)</strong> - SANAS的地址,包括server的ip地址和端口号,如果ip地址为None或者为""的话则默认使用本机ip。默认:("", 8881)。</li>
<li><strong>init_temperature(float)</strong> - 基于模拟退火进行搜索的初始温度。默认:100。</li> <li><strong>init_temperature(float)</strong> - 基于模拟退火进行搜索的初始温度。如果init_template为None而且init_tokens为None,则默认初始温度为10.0,如果init_template为None且init_tokens不为None,则默认初始温度为1.0。详细的温度设置可以参考下面的Note。默认:None。</li>
<li><strong>reduce_rate(float)</strong> - 基于模拟退火进行搜索的衰减率。默认:0.85。</li> <li><strong>reduce_rate(float)</strong> - 基于模拟退火进行搜索的衰减率。详细的退火率设置可以参考下面的Note。默认:0.85。</li>
<li><strong>init_tokens(list|None)</strong> - 初始化token,若init_tokens为空,则SA算法随机生成初始化tokens。默认:None。</li>
<li><strong>search_steps(int)</strong> - 搜索过程迭代的次数。默认:300。</li> <li><strong>search_steps(int)</strong> - 搜索过程迭代的次数。默认:300。</li>
<li><strong>save_checkpoint(str|None)</strong> - 保存checkpoint的文件目录,如果设置为None的话则不保存checkpoint。默认:<code>./nas_checkpoint</code></li> <li><strong>save_checkpoint(str|None)</strong> - 保存checkpoint的文件目录,如果设置为None的话则不保存checkpoint。默认:<code>./nas_checkpoint</code></li>
<li><strong>load_checkpoint(str|None)</strong> - 加载checkpoint的文件目录,如果设置为None的话则不加载checkpoint。默认:None。</li> <li><strong>load_checkpoint(str|None)</strong> - 加载checkpoint的文件目录,如果设置为None的话则不加载checkpoint。默认:None。</li>
...@@ -207,28 +205,30 @@ ...@@ -207,28 +205,30 @@
<p><strong>示例代码:</strong> <p><strong>示例代码:</strong>
<div class="codehilite"><pre><span></span><span class="kn">from</span> <span class="nn">paddleslim.nas</span> <span class="kn">import</span> <span class="n">SANAS</span> <div class="codehilite"><pre><span></span><span class="kn">from</span> <span class="nn">paddleslim.nas</span> <span class="kn">import</span> <span class="n">SANAS</span>
<span class="n">config</span> <span class="o">=</span> <span class="p">[(</span><span class="s1">&#39;MobileNetV2Space&#39;</span><span class="p">)]</span> <span class="n">config</span> <span class="o">=</span> <span class="p">[(</span><span class="s1">&#39;MobileNetV2Space&#39;</span><span class="p">)]</span>
<span class="n">sanas</span> <span class="o">=</span> <span class="n">SANAS</span><span class="p">(</span><span class="n">config</span><span class="o">=</span><span class="n">config</span><span class="p">)</span> <span class="n">sanas</span> <span class="o">=</span> <span class="n">SANAS</span><span class="p">(</span><span class="n">configs</span><span class="o">=</span><span class="n">config</span><span class="p">)</span>
</pre></div></p> </pre></div></p>
<dl> <div class="admonition note">
<dt>paddlesim.nas.SANAS.tokens2arch(tokens)</dt> <p class="admonition-title">Note</p>
<dd>通过一组token得到实际的模型结构,一般用来把搜索到最优的token转换为模型结构用来做最后的训练。</dd> </div>
</dl> <ul>
<p>Note:<br> <li>
tokens是一个列表,token映射到搜索空间转换成相应的网络结构,一组token对应唯一的一个网络结构。</p> <p>初始化温度和退火率的意义: <br></p>
<p><strong>参数:</strong></p>
<ul> <ul>
<li><strong>tokens(list):</strong> - 一组token。</li> <li>SA算法内部会保存一个基础token(初始化token可以自己传入也可以随机生成)和基础score(初始化score为-1),下一个token会在当前SA算法保存的token的基础上产生。在SA的搜索过程中,如果本轮的token训练得到的score大于SA算法中保存的score,则本轮的token一定会被SA算法接收保存为下一轮token产生的基础token。<br></li>
<li>初始温度越高表示SA算法当前处的阶段越不稳定,本轮的token训练得到的score小于SA算法中保存的score的话,本轮的token和score被SA算法接收的可能性越大。<br></li>
<li>初始温度越低表示SA算法当前处的阶段越稳定,本轮的token训练得到的score小于SA算法中保存的score的话,本轮的token和score被SA算法接收的可能性越小。<br></li>
<li>退火率越大,表示SA算法收敛的越慢,即SA算法越慢到稳定阶段。<br></li>
<li>退火率越低,表示SA算法收敛的越快,即SA算法越快到稳定阶段。<br></li>
</ul>
</li>
<li>
<p>初始化温度和退火率的设置: <br></p>
<ul>
<li>如果原本就有一个较好的初始化token,想要基于这个较好的token来进行搜索的话,SA算法可以处于一个较为稳定的状态进行搜索r这种情况下初始温度可以设置的低一些,例如设置为1.0,退火率设置的大一些,例如设置为0.85。如果想要基于这个较好的token利用贪心算法进行搜索,即只有当本轮token训练得到的score大于SA算法中保存的score,SA算法才接收本轮token,则退火率可设置为一个极小的数字,例如设置为0.85 ** 10。<br></li>
<li>初始化token如果是随机生成的话,代表初始化token是一个比较差的token,SA算法可以处于一种不稳定的阶段进行搜索,尽可能的随机探索所有可能得token,从而找到一个较好的token。初始温度可以设置的高一些,例如设置为1000,退火率相对设置的小一些。</li>
</ul>
</li>
</ul> </ul>
<p><strong>返回:</strong>
根据传入的token得到一个模型结构实例。</p>
<p><strong>示例代码:</strong>
<div class="codehilite"><pre><span></span><span class="kn">import</span> <span class="nn">paddle.fluid</span> <span class="k">as</span> <span class="nn">fluid</span>
<span class="nb">input</span> <span class="o">=</span> <span class="n">fluid</span><span class="o">.</span><span class="n">data</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s1">&#39;input&#39;</span><span class="p">,</span> <span class="n">shape</span><span class="o">=</span><span class="p">[</span><span class="kc">None</span><span class="p">,</span> <span class="mi">3</span><span class="p">,</span> <span class="mi">32</span><span class="p">,</span> <span class="mi">32</span><span class="p">],</span> <span class="n">dtype</span><span class="o">=</span><span class="s1">&#39;float32&#39;</span><span class="p">)</span>
<span class="n">archs</span> <span class="o">=</span> <span class="n">sanas</span><span class="o">.</span><span class="n">token2arch</span><span class="p">(</span><span class="n">tokens</span><span class="p">)</span>
<span class="k">for</span> <span class="n">arch</span> <span class="ow">in</span> <span class="n">archs</span><span class="p">:</span>
<span class="n">output</span> <span class="o">=</span> <span class="n">arch</span><span class="p">(</span><span class="nb">input</span><span class="p">)</span>
<span class="nb">input</span> <span class="o">=</span> <span class="n">output</span>
</pre></div></p>
<dl> <dl>
<dt>paddleslim.nas.SANAS.next_archs()</dt> <dt>paddleslim.nas.SANAS.next_archs()</dt>
<dd>获取下一组模型结构。</dd> <dd>获取下一组模型结构。</dd>
...@@ -237,11 +237,15 @@ tokens是一个列表,token映射到搜索空间转换成相应的网络结构 ...@@ -237,11 +237,15 @@ tokens是一个列表,token映射到搜索空间转换成相应的网络结构
返回模型结构实例的列表,形式为list。</p> 返回模型结构实例的列表,形式为list。</p>
<p><strong>示例代码:</strong> <p><strong>示例代码:</strong>
<div class="codehilite"><pre><span></span><span class="kn">import</span> <span class="nn">paddle.fluid</span> <span class="k">as</span> <span class="nn">fluid</span> <div class="codehilite"><pre><span></span><span class="kn">import</span> <span class="nn">paddle.fluid</span> <span class="k">as</span> <span class="nn">fluid</span>
<span class="kn">from</span> <span class="nn">paddleslim.nas</span> <span class="kn">import</span> <span class="n">SANAS</span>
<span class="n">config</span> <span class="o">=</span> <span class="p">[(</span><span class="s1">&#39;MobileNetV2Space&#39;</span><span class="p">)]</span>
<span class="n">sanas</span> <span class="o">=</span> <span class="n">SANAS</span><span class="p">(</span><span class="n">configs</span><span class="o">=</span><span class="n">config</span><span class="p">)</span>
<span class="nb">input</span> <span class="o">=</span> <span class="n">fluid</span><span class="o">.</span><span class="n">data</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s1">&#39;input&#39;</span><span class="p">,</span> <span class="n">shape</span><span class="o">=</span><span class="p">[</span><span class="kc">None</span><span class="p">,</span> <span class="mi">3</span><span class="p">,</span> <span class="mi">32</span><span class="p">,</span> <span class="mi">32</span><span class="p">],</span> <span class="n">dtype</span><span class="o">=</span><span class="s1">&#39;float32&#39;</span><span class="p">)</span> <span class="nb">input</span> <span class="o">=</span> <span class="n">fluid</span><span class="o">.</span><span class="n">data</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s1">&#39;input&#39;</span><span class="p">,</span> <span class="n">shape</span><span class="o">=</span><span class="p">[</span><span class="kc">None</span><span class="p">,</span> <span class="mi">3</span><span class="p">,</span> <span class="mi">32</span><span class="p">,</span> <span class="mi">32</span><span class="p">],</span> <span class="n">dtype</span><span class="o">=</span><span class="s1">&#39;float32&#39;</span><span class="p">)</span>
<span class="n">archs</span> <span class="o">=</span> <span class="n">sanas</span><span class="o">.</span><span class="n">next_archs</span><span class="p">()</span> <span class="n">archs</span> <span class="o">=</span> <span class="n">sanas</span><span class="o">.</span><span class="n">next_archs</span><span class="p">()</span>
<span class="k">for</span> <span class="n">arch</span> <span class="ow">in</span> <span class="n">archs</span><span class="p">:</span> <span class="k">for</span> <span class="n">arch</span> <span class="ow">in</span> <span class="n">archs</span><span class="p">:</span>
<span class="n">output</span> <span class="o">=</span> <span class="n">arch</span><span class="p">(</span><span class="nb">input</span><span class="p">)</span> <span class="n">output</span> <span class="o">=</span> <span class="n">arch</span><span class="p">(</span><span class="nb">input</span><span class="p">)</span>
<span class="nb">input</span> <span class="o">=</span> <span class="n">output</span> <span class="nb">input</span> <span class="o">=</span> <span class="n">output</span>
<span class="nb">print</span><span class="p">(</span><span class="n">output</span><span class="p">)</span>
</pre></div></p> </pre></div></p>
<dl> <dl>
<dt>paddleslim.nas.SANAS.reward(score)</dt> <dt>paddleslim.nas.SANAS.reward(score)</dt>
...@@ -253,12 +257,50 @@ tokens是一个列表,token映射到搜索空间转换成相应的网络结构 ...@@ -253,12 +257,50 @@ tokens是一个列表,token映射到搜索空间转换成相应的网络结构
</ul> </ul>
<p><strong>返回:</strong> <p><strong>返回:</strong>
模型结构更新成功或者失败,成功则返回<code>True</code>,失败则返回<code>False</code></p> 模型结构更新成功或者失败,成功则返回<code>True</code>,失败则返回<code>False</code></p>
<p><strong>示例代码:</strong>
<div class="codehilite"><pre><span></span><span class="kn">import</span> <span class="nn">paddle.fluid</span> <span class="k">as</span> <span class="nn">fluid</span>
<span class="kn">from</span> <span class="nn">paddleslim.nas</span> <span class="kn">import</span> <span class="n">SANAS</span>
<span class="n">config</span> <span class="o">=</span> <span class="p">[(</span><span class="s1">&#39;MobileNetV2Space&#39;</span><span class="p">)]</span>
<span class="n">sanas</span> <span class="o">=</span> <span class="n">SANAS</span><span class="p">(</span><span class="n">configs</span><span class="o">=</span><span class="n">config</span><span class="p">)</span>
<span class="n">archs</span> <span class="o">=</span> <span class="n">sanas</span><span class="o">.</span><span class="n">next_archs</span><span class="p">()</span>
<span class="c1">### 假设网络计算出来的score是1,实际代码中使用时需要返回真实score。</span>
<span class="n">score</span><span class="o">=</span><span class="nb">float</span><span class="p">(</span><span class="mf">1.0</span><span class="p">)</span>
<span class="n">sanas</span><span class="o">.</span><span class="n">reward</span><span class="p">(</span><span class="nb">float</span><span class="p">(</span><span class="n">score</span><span class="p">))</span>
</pre></div></p>
<dl>
<dt>paddlesim.nas.SANAS.tokens2arch(tokens)</dt>
<dd>通过一组tokens得到实际的模型结构,一般用来把搜索到最优的token转换为模型结构用来做最后的训练。tokens的形式是一个列表,tokens映射到搜索空间转换成相应的网络结构,一组tokens对应唯一的一个网络结构。</dd>
</dl>
<p><strong>参数:</strong></p>
<ul>
<li><strong>tokens(list):</strong> - 一组tokens。tokens的长度和范取决于搜索空间。</li>
</ul>
<p><strong>返回:</strong>
根据传入的token得到一个模型结构实例。</p>
<p><strong>示例代码:</strong>
<div class="codehilite"><pre><span></span><span class="kn">import</span> <span class="nn">paddle.fluid</span> <span class="k">as</span> <span class="nn">fluid</span>
<span class="kn">from</span> <span class="nn">paddleslim.nas</span> <span class="kn">import</span> <span class="n">SANAS</span>
<span class="n">config</span> <span class="o">=</span> <span class="p">[(</span><span class="s1">&#39;MobileNetV2Space&#39;</span><span class="p">)]</span>
<span class="n">sanas</span> <span class="o">=</span> <span class="n">SANAS</span><span class="p">(</span><span class="n">configs</span><span class="o">=</span><span class="n">config</span><span class="p">)</span>
<span class="nb">input</span> <span class="o">=</span> <span class="n">fluid</span><span class="o">.</span><span class="n">data</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s1">&#39;input&#39;</span><span class="p">,</span> <span class="n">shape</span><span class="o">=</span><span class="p">[</span><span class="kc">None</span><span class="p">,</span> <span class="mi">3</span><span class="p">,</span> <span class="mi">32</span><span class="p">,</span> <span class="mi">32</span><span class="p">],</span> <span class="n">dtype</span><span class="o">=</span><span class="s1">&#39;float32&#39;</span><span class="p">)</span>
<span class="n">tokens</span> <span class="o">=</span> <span class="p">([</span><span class="mi">0</span><span class="p">]</span> <span class="o">*</span> <span class="mi">25</span><span class="p">)</span>
<span class="n">archs</span> <span class="o">=</span> <span class="n">sanas</span><span class="o">.</span><span class="n">tokens2arch</span><span class="p">(</span><span class="n">tokens</span><span class="p">)[</span><span class="mi">0</span><span class="p">]</span>
<span class="nb">print</span><span class="p">(</span><span class="n">archs</span><span class="p">(</span><span class="nb">input</span><span class="p">))</span>
</pre></div></p>
<dl> <dl>
<dt>paddleslim.nas.SANAS.current_info()</dt> <dt>paddleslim.nas.SANAS.current_info()</dt>
<dd>返回当前token和搜索过程中最好的token和reward。</dd> <dd>返回当前token和搜索过程中最好的token和reward。</dd>
</dl> </dl>
<p><strong>返回:</strong> <p><strong>返回:</strong>
搜索过程中最好的token,reward和当前训练的token,形式为dict。</p> 搜索过程中最好的token,reward和当前训练的token,形式为dict。</p>
<p><strong>示例代码:</strong>
<div class="codehilite"><pre><span></span><span class="kn">import</span> <span class="nn">paddle.fluid</span> <span class="k">as</span> <span class="nn">fluid</span>
<span class="kn">from</span> <span class="nn">paddleslim.nas</span> <span class="kn">import</span> <span class="n">SANAS</span>
<span class="n">config</span> <span class="o">=</span> <span class="p">[(</span><span class="s1">&#39;MobileNetV2Space&#39;</span><span class="p">)]</span>
<span class="n">sanas</span> <span class="o">=</span> <span class="n">SANAS</span><span class="p">(</span><span class="n">configs</span><span class="o">=</span><span class="n">config</span><span class="p">)</span>
<span class="nb">print</span><span class="p">(</span><span class="n">sanas</span><span class="o">.</span><span class="n">current_info</span><span class="p">())</span>
</pre></div></p>
</div> </div>
</div> </div>
...@@ -266,7 +308,7 @@ tokens是一个列表,token映射到搜索空间转换成相应的网络结构 ...@@ -266,7 +308,7 @@ tokens是一个列表,token映射到搜索空间转换成相应的网络结构
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation"> <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
<a href="../../search_space/" class="btn btn-neutral float-right" title="搜索空间">Next <span class="icon icon-circle-arrow-right"></span></a> <a href="../../table_latency/" class="btn btn-neutral float-right" title="硬件延时评估表">Next <span class="icon icon-circle-arrow-right"></span></a>
<a href="../single_distiller_api/" class="btn btn-neutral" title="知识蒸馏"><span class="icon icon-circle-arrow-left"></span> Previous</a> <a href="../single_distiller_api/" class="btn btn-neutral" title="知识蒸馏"><span class="icon icon-circle-arrow-left"></span> Previous</a>
...@@ -300,7 +342,7 @@ tokens是一个列表,token映射到搜索空间转换成相应的网络结构 ...@@ -300,7 +342,7 @@ tokens是一个列表,token映射到搜索空间转换成相应的网络结构
<span><a href="../single_distiller_api/" style="color: #fcfcfc;">&laquo; Previous</a></span> <span><a href="../single_distiller_api/" style="color: #fcfcfc;">&laquo; Previous</a></span>
<span style="margin-left: 15px"><a href="../../search_space/" style="color: #fcfcfc">Next &raquo;</a></span> <span style="margin-left: 15px"><a href="../../table_latency/" style="color: #fcfcfc">Next &raquo;</a></span>
</span> </span>
</div> </div>
......
...@@ -81,6 +81,10 @@ ...@@ -81,6 +81,10 @@
</li> </li>
<li class=""> <li class="">
<a class="" href="../../tutorials/search_space.md">搜索空间</a>
</li>
<li class="">
<a class="" href="../../tutorials/distillation_demo/">知识蒸馏</a> <a class="" href="../../tutorials/distillation_demo/">知识蒸馏</a>
</li> </li>
</ul> </ul>
...@@ -130,10 +134,6 @@ ...@@ -130,10 +134,6 @@
</li> </li>
<li class=""> <li class="">
<a class="" href="../../search_space/">搜索空间</a>
</li>
<li class="">
<a class="" href="../../table_latency/">硬件延时评估表</a> <a class="" href="../../table_latency/">硬件延时评估表</a>
</li> </li>
</ul> </ul>
...@@ -501,6 +501,28 @@ ...@@ -501,6 +501,28 @@
<p>其中,<code>weight_0</code>是卷积层参数的名称,sensitivities['weight_0']的<code>value</code>为剪裁比例,<code>value</code>为精度损失的比例。</p> <p>其中,<code>weight_0</code>是卷积层参数的名称,sensitivities['weight_0']的<code>value</code>为剪裁比例,<code>value</code>为精度损失的比例。</p>
<p>示例:</p> <p>示例:</p>
<div class="codehilite"><pre><span></span><span class="kn">from</span> <span class="nn">paddleslim.prune</span> <span class="kn">import</span> <span class="n">merge_sensitive</span>
<span class="n">sen0</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;weight_0&quot;</span><span class="p">:</span>
<span class="p">{</span><span class="mf">0.1</span><span class="p">:</span> <span class="mf">0.22</span><span class="p">,</span>
<span class="mf">0.2</span><span class="p">:</span> <span class="mf">0.33</span>
<span class="p">},</span>
<span class="s2">&quot;weight_1&quot;</span><span class="p">:</span>
<span class="p">{</span><span class="mf">0.1</span><span class="p">:</span> <span class="mf">0.21</span><span class="p">,</span>
<span class="mf">0.2</span><span class="p">:</span> <span class="mf">0.4</span>
<span class="p">}</span>
<span class="p">}</span>
<span class="n">sen1</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;weight_0&quot;</span><span class="p">:</span>
<span class="p">{</span><span class="mf">0.3</span><span class="p">:</span> <span class="mf">0.41</span><span class="p">,</span>
<span class="p">},</span>
<span class="s2">&quot;weight_2&quot;</span><span class="p">:</span>
<span class="p">{</span><span class="mf">0.1</span><span class="p">:</span> <span class="mf">0.10</span><span class="p">,</span>
<span class="mf">0.2</span><span class="p">:</span> <span class="mf">0.35</span>
<span class="p">}</span>
<span class="p">}</span>
<span class="n">sensitivities</span> <span class="o">=</span> <span class="n">merge_sensitive</span><span class="p">([</span><span class="n">sen0</span><span class="p">,</span> <span class="n">sen1</span><span class="p">])</span>
<span class="k">print</span><span class="p">(</span><span class="n">sensitivities</span><span class="p">)</span>
</pre></div>
<h2 id="load_sensitivities">load_sensitivities<a class="headerlink" href="#load_sensitivities" title="Permanent link">#</a></h2> <h2 id="load_sensitivities">load_sensitivities<a class="headerlink" href="#load_sensitivities" title="Permanent link">#</a></h2>
<dl> <dl>
<dt>paddleslim.prune.load_sensitivities(sensitivities_file)<a href="https://github.com/PaddlePaddle/PaddleSlim/blob/develop/paddleslim/prune/sensitive.py#L184">源代码</a></dt> <dt>paddleslim.prune.load_sensitivities(sensitivities_file)<a href="https://github.com/PaddlePaddle/PaddleSlim/blob/develop/paddleslim/prune/sensitive.py#L184">源代码</a></dt>
...@@ -517,6 +539,24 @@ ...@@ -517,6 +539,24 @@
<li><strong>sensitivities(dict)</strong> - 敏感度信息。</li> <li><strong>sensitivities(dict)</strong> - 敏感度信息。</li>
</ul> </ul>
<p>示例:</p> <p>示例:</p>
<div class="codehilite"><pre><span></span><span class="kn">import</span> <span class="nn">pickle</span>
<span class="kn">from</span> <span class="nn">paddleslim.prune</span> <span class="kn">import</span> <span class="n">load_sensitivities</span>
<span class="n">sen</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;weight_0&quot;</span><span class="p">:</span>
<span class="p">{</span><span class="mf">0.1</span><span class="p">:</span> <span class="mf">0.22</span><span class="p">,</span>
<span class="mf">0.2</span><span class="p">:</span> <span class="mf">0.33</span>
<span class="p">},</span>
<span class="s2">&quot;weight_1&quot;</span><span class="p">:</span>
<span class="p">{</span><span class="mf">0.1</span><span class="p">:</span> <span class="mf">0.21</span><span class="p">,</span>
<span class="mf">0.2</span><span class="p">:</span> <span class="mf">0.4</span>
<span class="p">}</span>
<span class="p">}</span>
<span class="n">sensitivities_file</span> <span class="o">=</span> <span class="s2">&quot;sensitive_api_demo.data&quot;</span>
<span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">sensitivities_file</span><span class="p">,</span> <span class="s1">&#39;w&#39;</span><span class="p">)</span> <span class="k">as</span> <span class="n">f</span><span class="p">:</span>
<span class="n">pickle</span><span class="o">.</span><span class="n">dump</span><span class="p">(</span><span class="n">sen</span><span class="p">,</span> <span class="n">f</span><span class="p">)</span>
<span class="n">sensitivities</span> <span class="o">=</span> <span class="n">load_sensitivities</span><span class="p">(</span><span class="n">sensitivities_file</span><span class="p">)</span>
<span class="k">print</span><span class="p">(</span><span class="n">sensitivities</span><span class="p">)</span>
</pre></div>
<h2 id="get_ratios_by_loss">get_ratios_by_loss<a class="headerlink" href="#get_ratios_by_loss" title="Permanent link">#</a></h2> <h2 id="get_ratios_by_loss">get_ratios_by_loss<a class="headerlink" href="#get_ratios_by_loss" title="Permanent link">#</a></h2>
<dl> <dl>
<dt>paddleslim.prune.get_ratios_by_loss(sensitivities, loss)<a href="https://github.com/PaddlePaddle/PaddleSlim/blob/develop/paddleslim/prune/sensitive.py#L206">源代码</a></dt> <dt>paddleslim.prune.get_ratios_by_loss(sensitivities, loss)<a href="https://github.com/PaddlePaddle/PaddleSlim/blob/develop/paddleslim/prune/sensitive.py#L206">源代码</a></dt>
...@@ -537,6 +577,21 @@ ...@@ -537,6 +577,21 @@
<ul> <ul>
<li><strong>ratios(dict)</strong> - 一组剪切率。<code>key</code>是待剪裁参数的名称。<code>value</code>是对应参数的剪裁率。</li> <li><strong>ratios(dict)</strong> - 一组剪切率。<code>key</code>是待剪裁参数的名称。<code>value</code>是对应参数的剪裁率。</li>
</ul> </ul>
<p>示例:</p>
<div class="codehilite"><pre><span></span><span class="kn">from</span> <span class="nn">paddleslim.prune</span> <span class="kn">import</span> <span class="n">get_ratios_by_loss</span>
<span class="n">sen</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;weight_0&quot;</span><span class="p">:</span>
<span class="p">{</span><span class="mf">0.1</span><span class="p">:</span> <span class="mf">0.22</span><span class="p">,</span>
<span class="mf">0.2</span><span class="p">:</span> <span class="mf">0.33</span>
<span class="p">},</span>
<span class="s2">&quot;weight_1&quot;</span><span class="p">:</span>
<span class="p">{</span><span class="mf">0.1</span><span class="p">:</span> <span class="mf">0.21</span><span class="p">,</span>
<span class="mf">0.2</span><span class="p">:</span> <span class="mf">0.4</span>
<span class="p">}</span>
<span class="p">}</span>
<span class="n">ratios</span> <span class="o">=</span> <span class="n">get_ratios_by_loss</span><span class="p">(</span><span class="n">sen</span><span class="p">,</span> <span class="mf">0.3</span><span class="p">)</span>
<span class="k">print</span><span class="p">(</span><span class="n">ratios</span><span class="p">)</span>
</pre></div>
</div> </div>
</div> </div>
......
...@@ -81,6 +81,10 @@ ...@@ -81,6 +81,10 @@
</li> </li>
<li class=""> <li class="">
<a class="" href="../../tutorials/search_space.md">搜索空间</a>
</li>
<li class="">
<a class="" href="../../tutorials/distillation_demo/">知识蒸馏</a> <a class="" href="../../tutorials/distillation_demo/">知识蒸馏</a>
</li> </li>
</ul> </ul>
...@@ -130,10 +134,6 @@ ...@@ -130,10 +134,6 @@
</li> </li>
<li class=""> <li class="">
<a class="" href="../../search_space/">搜索空间</a>
</li>
<li class="">
<a class="" href="../../table_latency/">硬件延时评估表</a> <a class="" href="../../table_latency/">硬件延时评估表</a>
</li> </li>
</ul> </ul>
......
...@@ -81,6 +81,10 @@ ...@@ -81,6 +81,10 @@
</li> </li>
<li class=""> <li class="">
<a class="" href="../../tutorials/search_space.md">搜索空间</a>
</li>
<li class="">
<a class="" href="../../tutorials/distillation_demo/">知识蒸馏</a> <a class="" href="../../tutorials/distillation_demo/">知识蒸馏</a>
</li> </li>
</ul> </ul>
...@@ -130,10 +134,6 @@ ...@@ -130,10 +134,6 @@
</li> </li>
<li class=""> <li class="">
<a class="" href="../../search_space/">搜索空间</a>
</li>
<li class="">
<a class="" href="../../table_latency/">硬件延时评估表</a> <a class="" href="../../table_latency/">硬件延时评估表</a>
</li> </li>
</ul> </ul>
...@@ -258,10 +258,10 @@ ...@@ -258,10 +258,10 @@
<span class="n">data_name_map</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;y&#39;</span><span class="p">:</span><span class="s1">&#39;x&#39;</span><span class="p">}</span> <span class="n">data_name_map</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;y&#39;</span><span class="p">:</span><span class="s1">&#39;x&#39;</span><span class="p">}</span>
<span class="n">USE_GPU</span> <span class="o">=</span> <span class="kc">False</span> <span class="n">USE_GPU</span> <span class="o">=</span> <span class="kc">False</span>
<span class="n">place</span> <span class="o">=</span> <span class="n">fluid</span><span class="o">.</span><span class="n">CUDAPlace</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span> <span class="k">if</span> <span class="n">USE_GPU</span> <span class="k">else</span> <span class="n">fluid</span><span class="o">.</span><span class="n">CPUPlace</span><span class="p">()</span> <span class="n">place</span> <span class="o">=</span> <span class="n">fluid</span><span class="o">.</span><span class="n">CUDAPlace</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span> <span class="k">if</span> <span class="n">USE_GPU</span> <span class="k">else</span> <span class="n">fluid</span><span class="o">.</span><span class="n">CPUPlace</span><span class="p">()</span>
<span class="n">merge</span><span class="p">(</span><span class="n">teacher_program</span><span class="p">,</span> <span class="n">student_program</span><span class="p">,</span> <span class="n">data_name_map</span><span class="p">,</span> <span class="n">place</span><span class="p">)</span> <span class="n">dist</span><span class="o">.</span><span class="n">merge</span><span class="p">(</span><span class="n">teacher_program</span><span class="p">,</span> <span class="n">student_program</span><span class="p">,</span> <span class="n">data_name_map</span><span class="p">,</span> <span class="n">place</span><span class="p">)</span>
<span class="k">with</span> <span class="n">fluid</span><span class="o">.</span><span class="n">program_guard</span><span class="p">(</span><span class="n">student_program</span><span class="p">):</span> <span class="k">with</span> <span class="n">fluid</span><span class="o">.</span><span class="n">program_guard</span><span class="p">(</span><span class="n">student_program</span><span class="p">):</span>
<span class="hll"> <span class="n">distillation_loss</span> <span class="o">=</span> <span class="n">dist</span><span class="o">.</span><span class="n">fsp_loss</span><span class="p">(</span><span class="s1">&#39;teacher_t1.tmp_1&#39;</span><span class="p">,</span> <span class="s1">&#39;teacher_t2.tmp_1&#39;</span><span class="p">,</span> <span class="hll"> <span class="n">distillation_loss</span> <span class="o">=</span> <span class="n">dist</span><span class="o">.</span><span class="n">fsp_loss</span><span class="p">(</span><span class="s1">&#39;teacher_t1.tmp_1&#39;</span><span class="p">,</span> <span class="s1">&#39;teacher_t2.tmp_1&#39;</span><span class="p">,</span>
</span><span class="hll"> <span class="s1">&#39;s1.tmp_1&#39;</span><span class="p">,</span> <span class="s1">&#39;s2.tmp_1&#39;</span><span class="p">,</span> <span class="n">main_program</span><span class="p">)</span> </span><span class="hll"> <span class="s1">&#39;s1.tmp_1&#39;</span><span class="p">,</span> <span class="s1">&#39;s2.tmp_1&#39;</span><span class="p">,</span> <span class="n">student_program</span><span class="p">)</span>
</span></pre></div> </span></pre></div>
<h2 id="l2_loss">l2_loss<a class="headerlink" href="#l2_loss" title="Permanent link">#</a></h2> <h2 id="l2_loss">l2_loss<a class="headerlink" href="#l2_loss" title="Permanent link">#</a></h2>
...@@ -295,10 +295,10 @@ ...@@ -295,10 +295,10 @@
<span class="n">data_name_map</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;y&#39;</span><span class="p">:</span><span class="s1">&#39;x&#39;</span><span class="p">}</span> <span class="n">data_name_map</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;y&#39;</span><span class="p">:</span><span class="s1">&#39;x&#39;</span><span class="p">}</span>
<span class="n">USE_GPU</span> <span class="o">=</span> <span class="kc">False</span> <span class="n">USE_GPU</span> <span class="o">=</span> <span class="kc">False</span>
<span class="n">place</span> <span class="o">=</span> <span class="n">fluid</span><span class="o">.</span><span class="n">CUDAPlace</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span> <span class="k">if</span> <span class="n">USE_GPU</span> <span class="k">else</span> <span class="n">fluid</span><span class="o">.</span><span class="n">CPUPlace</span><span class="p">()</span> <span class="n">place</span> <span class="o">=</span> <span class="n">fluid</span><span class="o">.</span><span class="n">CUDAPlace</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span> <span class="k">if</span> <span class="n">USE_GPU</span> <span class="k">else</span> <span class="n">fluid</span><span class="o">.</span><span class="n">CPUPlace</span><span class="p">()</span>
<span class="n">merge</span><span class="p">(</span><span class="n">teacher_program</span><span class="p">,</span> <span class="n">student_program</span><span class="p">,</span> <span class="n">data_name_map</span><span class="p">,</span> <span class="n">place</span><span class="p">)</span> <span class="n">dist</span><span class="o">.</span><span class="n">merge</span><span class="p">(</span><span class="n">teacher_program</span><span class="p">,</span> <span class="n">student_program</span><span class="p">,</span> <span class="n">data_name_map</span><span class="p">,</span> <span class="n">place</span><span class="p">)</span>
<span class="k">with</span> <span class="n">fluid</span><span class="o">.</span><span class="n">program_guard</span><span class="p">(</span><span class="n">student_program</span><span class="p">):</span> <span class="k">with</span> <span class="n">fluid</span><span class="o">.</span><span class="n">program_guard</span><span class="p">(</span><span class="n">student_program</span><span class="p">):</span>
<span class="hll"> <span class="n">distillation_loss</span> <span class="o">=</span> <span class="n">dist</span><span class="o">.</span><span class="n">l2_loss</span><span class="p">(</span><span class="s1">&#39;teacher_t2.tmp_1&#39;</span><span class="p">,</span> <span class="s1">&#39;s2.tmp_1&#39;</span><span class="p">,</span> <span class="hll"> <span class="n">distillation_loss</span> <span class="o">=</span> <span class="n">dist</span><span class="o">.</span><span class="n">l2_loss</span><span class="p">(</span><span class="s1">&#39;teacher_t2.tmp_1&#39;</span><span class="p">,</span> <span class="s1">&#39;s2.tmp_1&#39;</span><span class="p">,</span>
</span><span class="hll"> <span class="n">main_program</span><span class="p">)</span> </span><span class="hll"> <span class="n">student_program</span><span class="p">)</span>
</span></pre></div> </span></pre></div>
<h2 id="soft_label_loss">soft_label_loss<a class="headerlink" href="#soft_label_loss" title="Permanent link">#</a></h2> <h2 id="soft_label_loss">soft_label_loss<a class="headerlink" href="#soft_label_loss" title="Permanent link">#</a></h2>
...@@ -334,10 +334,10 @@ ...@@ -334,10 +334,10 @@
<span class="n">data_name_map</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;y&#39;</span><span class="p">:</span><span class="s1">&#39;x&#39;</span><span class="p">}</span> <span class="n">data_name_map</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;y&#39;</span><span class="p">:</span><span class="s1">&#39;x&#39;</span><span class="p">}</span>
<span class="n">USE_GPU</span> <span class="o">=</span> <span class="kc">False</span> <span class="n">USE_GPU</span> <span class="o">=</span> <span class="kc">False</span>
<span class="n">place</span> <span class="o">=</span> <span class="n">fluid</span><span class="o">.</span><span class="n">CUDAPlace</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span> <span class="k">if</span> <span class="n">USE_GPU</span> <span class="k">else</span> <span class="n">fluid</span><span class="o">.</span><span class="n">CPUPlace</span><span class="p">()</span> <span class="n">place</span> <span class="o">=</span> <span class="n">fluid</span><span class="o">.</span><span class="n">CUDAPlace</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span> <span class="k">if</span> <span class="n">USE_GPU</span> <span class="k">else</span> <span class="n">fluid</span><span class="o">.</span><span class="n">CPUPlace</span><span class="p">()</span>
<span class="n">merge</span><span class="p">(</span><span class="n">teacher_program</span><span class="p">,</span> <span class="n">student_program</span><span class="p">,</span> <span class="n">data_name_map</span><span class="p">,</span> <span class="n">place</span><span class="p">)</span> <span class="n">dist</span><span class="o">.</span><span class="n">merge</span><span class="p">(</span><span class="n">teacher_program</span><span class="p">,</span> <span class="n">student_program</span><span class="p">,</span> <span class="n">data_name_map</span><span class="p">,</span> <span class="n">place</span><span class="p">)</span>
<span class="k">with</span> <span class="n">fluid</span><span class="o">.</span><span class="n">program_guard</span><span class="p">(</span><span class="n">student_program</span><span class="p">):</span> <span class="k">with</span> <span class="n">fluid</span><span class="o">.</span><span class="n">program_guard</span><span class="p">(</span><span class="n">student_program</span><span class="p">):</span>
<span class="hll"> <span class="n">distillation_loss</span> <span class="o">=</span> <span class="n">dist</span><span class="o">.</span><span class="n">soft_label_loss</span><span class="p">(</span><span class="s1">&#39;teacher_t2.tmp_1&#39;</span><span class="p">,</span> <span class="hll"> <span class="n">distillation_loss</span> <span class="o">=</span> <span class="n">dist</span><span class="o">.</span><span class="n">soft_label_loss</span><span class="p">(</span><span class="s1">&#39;teacher_t2.tmp_1&#39;</span><span class="p">,</span>
</span><span class="hll"> <span class="s1">&#39;s2.tmp_1&#39;</span><span class="p">,</span> <span class="n">main_program</span><span class="p">,</span> <span class="mf">1.</span><span class="p">,</span> <span class="mf">1.</span><span class="p">)</span> </span><span class="hll"> <span class="s1">&#39;s2.tmp_1&#39;</span><span class="p">,</span> <span class="n">student_program</span><span class="p">,</span> <span class="mf">1.</span><span class="p">,</span> <span class="mf">1.</span><span class="p">)</span>
</span></pre></div> </span></pre></div>
<h2 id="loss">loss<a class="headerlink" href="#loss" title="Permanent link">#</a></h2> <h2 id="loss">loss<a class="headerlink" href="#loss" title="Permanent link">#</a></h2>
...@@ -371,14 +371,14 @@ ...@@ -371,14 +371,14 @@
<span class="n">data_name_map</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;y&#39;</span><span class="p">:</span><span class="s1">&#39;x&#39;</span><span class="p">}</span> <span class="n">data_name_map</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;y&#39;</span><span class="p">:</span><span class="s1">&#39;x&#39;</span><span class="p">}</span>
<span class="n">USE_GPU</span> <span class="o">=</span> <span class="kc">False</span> <span class="n">USE_GPU</span> <span class="o">=</span> <span class="kc">False</span>
<span class="n">place</span> <span class="o">=</span> <span class="n">fluid</span><span class="o">.</span><span class="n">CUDAPlace</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span> <span class="k">if</span> <span class="n">USE_GPU</span> <span class="k">else</span> <span class="n">fluid</span><span class="o">.</span><span class="n">CPUPlace</span><span class="p">()</span> <span class="n">place</span> <span class="o">=</span> <span class="n">fluid</span><span class="o">.</span><span class="n">CUDAPlace</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span> <span class="k">if</span> <span class="n">USE_GPU</span> <span class="k">else</span> <span class="n">fluid</span><span class="o">.</span><span class="n">CPUPlace</span><span class="p">()</span>
<span class="n">merge</span><span class="p">(</span><span class="n">teacher_program</span><span class="p">,</span> <span class="n">student_program</span><span class="p">,</span> <span class="n">data_name_map</span><span class="p">,</span> <span class="n">place</span><span class="p">)</span> <span class="n">dist</span><span class="o">.</span><span class="n">merge</span><span class="p">(</span><span class="n">teacher_program</span><span class="p">,</span> <span class="n">student_program</span><span class="p">,</span> <span class="n">data_name_map</span><span class="p">,</span> <span class="n">place</span><span class="p">)</span>
<span class="k">def</span> <span class="nf">adaptation_loss</span><span class="p">(</span><span class="n">t_var</span><span class="p">,</span> <span class="n">s_var</span><span class="p">):</span> <span class="k">def</span> <span class="nf">adaptation_loss</span><span class="p">(</span><span class="n">t_var</span><span class="p">,</span> <span class="n">s_var</span><span class="p">):</span>
<span class="n">teacher_channel</span> <span class="o">=</span> <span class="n">t_var</span><span class="o">.</span><span class="n">shape</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="n">teacher_channel</span> <span class="o">=</span> <span class="n">t_var</span><span class="o">.</span><span class="n">shape</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span>
<span class="n">s_hint</span> <span class="o">=</span> <span class="n">fluid</span><span class="o">.</span><span class="n">layers</span><span class="o">.</span><span class="n">conv2d</span><span class="p">(</span><span class="n">s_var</span><span class="p">,</span> <span class="n">teacher_channel</span><span class="p">,</span> <span class="mi">1</span><span class="p">)</span> <span class="n">s_hint</span> <span class="o">=</span> <span class="n">fluid</span><span class="o">.</span><span class="n">layers</span><span class="o">.</span><span class="n">conv2d</span><span class="p">(</span><span class="n">s_var</span><span class="p">,</span> <span class="n">teacher_channel</span><span class="p">,</span> <span class="mi">1</span><span class="p">)</span>
<span class="n">hint_loss</span> <span class="o">=</span> <span class="n">fluid</span><span class="o">.</span><span class="n">layers</span><span class="o">.</span><span class="n">reduce_mean</span><span class="p">(</span><span class="n">fluid</span><span class="o">.</span><span class="n">layers</span><span class="o">.</span><span class="n">square</span><span class="p">(</span><span class="n">s_hint</span> <span class="o">-</span> <span class="n">t_var</span><span class="p">))</span> <span class="n">hint_loss</span> <span class="o">=</span> <span class="n">fluid</span><span class="o">.</span><span class="n">layers</span><span class="o">.</span><span class="n">reduce_mean</span><span class="p">(</span><span class="n">fluid</span><span class="o">.</span><span class="n">layers</span><span class="o">.</span><span class="n">square</span><span class="p">(</span><span class="n">s_hint</span> <span class="o">-</span> <span class="n">t_var</span><span class="p">))</span>
<span class="k">return</span> <span class="n">hint_loss</span> <span class="k">return</span> <span class="n">hint_loss</span>
<span class="k">with</span> <span class="n">fluid</span><span class="o">.</span><span class="n">program_guard</span><span class="p">(</span><span class="n">student_program</span><span class="p">):</span> <span class="k">with</span> <span class="n">fluid</span><span class="o">.</span><span class="n">program_guard</span><span class="p">(</span><span class="n">student_program</span><span class="p">):</span>
<span class="hll"> <span class="n">distillation_loss</span> <span class="o">=</span> <span class="n">dist</span><span class="o">.</span><span class="n">loss</span><span class="p">(</span><span class="n">main_program</span><span class="p">,</span> <span class="n">adaptation_loss</span><span class="p">,</span> <span class="hll"> <span class="n">distillation_loss</span> <span class="o">=</span> <span class="n">dist</span><span class="o">.</span><span class="n">loss</span><span class="p">(</span><span class="n">adaptation_loss</span><span class="p">,</span> <span class="n">student_program</span><span class="p">,</span>
</span><span class="hll"> <span class="n">t_var</span><span class="o">=</span><span class="s1">&#39;teacher_t2.tmp_1&#39;</span><span class="p">,</span> <span class="n">s_var</span><span class="o">=</span><span class="s1">&#39;s2.tmp_1&#39;</span><span class="p">)</span> </span><span class="hll"> <span class="n">t_var</span><span class="o">=</span><span class="s1">&#39;teacher_t2.tmp_1&#39;</span><span class="p">,</span> <span class="n">s_var</span><span class="o">=</span><span class="s1">&#39;s2.tmp_1&#39;</span><span class="p">)</span>
</span></pre></div> </span></pre></div>
......
...@@ -99,6 +99,10 @@ ...@@ -99,6 +99,10 @@
</li> </li>
<li class=""> <li class="">
<a class="" href="tutorials/search_space.md">搜索空间</a>
</li>
<li class="">
<a class="" href="tutorials/distillation_demo/">知识蒸馏</a> <a class="" href="tutorials/distillation_demo/">知识蒸馏</a>
</li> </li>
</ul> </ul>
...@@ -130,10 +134,6 @@ ...@@ -130,10 +134,6 @@
</li> </li>
<li class=""> <li class="">
<a class="" href="search_space/">搜索空间</a>
</li>
<li class="">
<a class="" href="table_latency/">硬件延时评估表</a> <a class="" href="table_latency/">硬件延时评估表</a>
</li> </li>
</ul> </ul>
...@@ -290,5 +290,5 @@ python setup.py install ...@@ -290,5 +290,5 @@ python setup.py install
<!-- <!--
MkDocs version : 1.0.4 MkDocs version : 1.0.4
Build Date UTC : 2020-01-17 11:22:04 Build Date UTC : 2020-01-22 08:31:48
--> -->
...@@ -121,6 +121,10 @@ ...@@ -121,6 +121,10 @@
</li> </li>
<li class=""> <li class="">
<a class="" href="../tutorials/search_space.md">搜索空间</a>
</li>
<li class="">
<a class="" href="../tutorials/distillation_demo/">知识蒸馏</a> <a class="" href="../tutorials/distillation_demo/">知识蒸馏</a>
</li> </li>
</ul> </ul>
...@@ -152,10 +156,6 @@ ...@@ -152,10 +156,6 @@
</li> </li>
<li class=""> <li class="">
<a class="" href="../search_space/">搜索空间</a>
</li>
<li class="">
<a class="" href="../table_latency/">硬件延时评估表</a> <a class="" href="../table_latency/">硬件延时评估表</a>
</li> </li>
</ul> </ul>
......
...@@ -74,6 +74,10 @@ ...@@ -74,6 +74,10 @@
</li> </li>
<li class=""> <li class="">
<a class="" href="./tutorials/search_space.md">搜索空间</a>
</li>
<li class="">
<a class="" href="./tutorials/distillation_demo/">知识蒸馏</a> <a class="" href="./tutorials/distillation_demo/">知识蒸馏</a>
</li> </li>
</ul> </ul>
...@@ -105,10 +109,6 @@ ...@@ -105,10 +109,6 @@
</li> </li>
<li class=""> <li class="">
<a class="" href="./search_space/">搜索空间</a>
</li>
<li class="">
<a class="" href="./table_latency/">硬件延时评估表</a> <a class="" href="./table_latency/">硬件延时评估表</a>
</li> </li>
</ul> </ul>
......
因为 它太大了无法显示 source diff 。你可以改为 查看blob
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
<link rel="shortcut icon" href="../img/favicon.ico"> <link rel="shortcut icon" href="../img/favicon.ico">
<title>搜索空间 - PaddleSlim Docs</title> <title>Search space - PaddleSlim Docs</title>
<link href='https://fonts.googleapis.com/css?family=Lato:400,700|Roboto+Slab:400,700|Inconsolata:400,700' rel='stylesheet' type='text/css'> <link href='https://fonts.googleapis.com/css?family=Lato:400,700|Roboto+Slab:400,700|Inconsolata:400,700' rel='stylesheet' type='text/css'>
<link rel="stylesheet" href="../css/theme.css" type="text/css" /> <link rel="stylesheet" href="../css/theme.css" type="text/css" />
...@@ -18,7 +18,7 @@ ...@@ -18,7 +18,7 @@
<script> <script>
// Current page data // Current page data
var mkdocs_page_name = "\u641c\u7d22\u7a7a\u95f4"; var mkdocs_page_name = "Search space";
var mkdocs_page_input_path = "search_space.md"; var mkdocs_page_input_path = "search_space.md";
var mkdocs_page_url = null; var mkdocs_page_url = null;
</script> </script>
...@@ -81,6 +81,10 @@ ...@@ -81,6 +81,10 @@
</li> </li>
<li class=""> <li class="">
<a class="" href="../tutorials/search_space.md">搜索空间</a>
</li>
<li class="">
<a class="" href="../tutorials/distillation_demo/">知识蒸馏</a> <a class="" href="../tutorials/distillation_demo/">知识蒸馏</a>
</li> </li>
</ul> </ul>
...@@ -109,33 +113,6 @@ ...@@ -109,33 +113,6 @@
<li class=""> <li class="">
<a class="" href="../api/nas_api/">SA搜索</a> <a class="" href="../api/nas_api/">SA搜索</a>
</li>
<li class=" current">
<a class="current" href="./">搜索空间</a>
<ul class="subnav">
<li class="toctree-l3"><a href="#_1">搜索空间简介</a></li>
<li class="toctree-l3"><a href="#paddleslimnas">paddleslim.nas 提供的搜索空间</a></li>
<ul>
<li><a class="toctree-l4" href="#_2">根据初始模型结构构造搜索空间</a></li>
<li><a class="toctree-l4" href="#block">根据相应模型的block构造搜索空间</a></li>
</ul>
<li class="toctree-l3"><a href="#_3">搜索空间示例</a></li>
<li class="toctree-l3"><a href="#search-space">自定义搜索空间(search space)</a></li>
</ul>
</li> </li>
<li class=""> <li class="">
...@@ -170,12 +147,8 @@ ...@@ -170,12 +147,8 @@
<li><a href="..">Docs</a> &raquo;</li> <li><a href="..">Docs</a> &raquo;</li>
<li>API &raquo;</li>
<li>搜索空间</li> <li>Search space</li>
<li class="wy-breadcrumbs-aside"> <li class="wy-breadcrumbs-aside">
<a href="https://github.com/PaddlePaddle/PaddleSlim/edit/master/docs/search_space.md" <a href="https://github.com/PaddlePaddle/PaddleSlim/edit/master/docs/search_space.md"
...@@ -312,15 +285,6 @@ ...@@ -312,15 +285,6 @@
</div> </div>
<footer> <footer>
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
<a href="../table_latency/" class="btn btn-neutral float-right" title="硬件延时评估表">Next <span class="icon icon-circle-arrow-right"></span></a>
<a href="../api/nas_api/" class="btn btn-neutral" title="SA搜索"><span class="icon icon-circle-arrow-left"></span> Previous</a>
</div>
<hr/> <hr/>
...@@ -345,10 +309,6 @@ ...@@ -345,10 +309,6 @@
<a href="https://github.com/PaddlePaddle/PaddleSlim/" class="fa fa-github" style="float: left; color: #fcfcfc"> GitHub</a> <a href="https://github.com/PaddlePaddle/PaddleSlim/" class="fa fa-github" style="float: left; color: #fcfcfc"> GitHub</a>
<span><a href="../api/nas_api/" style="color: #fcfcfc;">&laquo; Previous</a></span>
<span style="margin-left: 15px"><a href="../table_latency/" style="color: #fcfcfc">Next &raquo;</a></span>
</span> </span>
</div> </div>
......
...@@ -2,77 +2,77 @@ ...@@ -2,77 +2,77 @@
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url> <url>
<loc>None</loc> <loc>None</loc>
<lastmod>2020-01-17</lastmod> <lastmod>2020-01-22</lastmod>
<changefreq>daily</changefreq> <changefreq>daily</changefreq>
</url> </url>
<url> <url>
<loc>None</loc> <loc>None</loc>
<lastmod>2020-01-17</lastmod> <lastmod>2020-01-22</lastmod>
<changefreq>daily</changefreq> <changefreq>daily</changefreq>
</url> </url>
<url> <url>
<loc>None</loc> <loc>None</loc>
<lastmod>2020-01-17</lastmod> <lastmod>2020-01-22</lastmod>
<changefreq>daily</changefreq> <changefreq>daily</changefreq>
</url> </url>
<url> <url>
<loc>None</loc> <loc>None</loc>
<lastmod>2020-01-17</lastmod> <lastmod>2020-01-22</lastmod>
<changefreq>daily</changefreq> <changefreq>daily</changefreq>
</url> </url>
<url> <url>
<loc>None</loc> <loc>None</loc>
<lastmod>2020-01-17</lastmod> <lastmod>2020-01-22</lastmod>
<changefreq>daily</changefreq> <changefreq>daily</changefreq>
</url> </url>
<url> <url>
<loc>None</loc> <loc>None</loc>
<lastmod>2020-01-17</lastmod> <lastmod>2020-01-22</lastmod>
<changefreq>daily</changefreq> <changefreq>daily</changefreq>
</url> </url>
<url> <url>
<loc>None</loc> <loc></loc>
<lastmod>2020-01-17</lastmod>
<changefreq>daily</changefreq> <changefreq>daily</changefreq>
</url> </url>
<url> <url>
<loc>None</loc> <loc>None</loc>
<lastmod>2020-01-17</lastmod> <lastmod>2020-01-22</lastmod>
<changefreq>daily</changefreq> <changefreq>daily</changefreq>
</url> </url>
<url> <url>
<loc>None</loc> <loc>None</loc>
<lastmod>2020-01-17</lastmod> <lastmod>2020-01-22</lastmod>
<changefreq>daily</changefreq> <changefreq>daily</changefreq>
</url> </url>
<url> <url>
<loc>None</loc> <loc>None</loc>
<lastmod>2020-01-17</lastmod> <lastmod>2020-01-22</lastmod>
<changefreq>daily</changefreq> <changefreq>daily</changefreq>
</url> </url>
<url> <url>
<loc>None</loc> <loc>None</loc>
<lastmod>2020-01-17</lastmod> <lastmod>2020-01-22</lastmod>
<changefreq>daily</changefreq> <changefreq>daily</changefreq>
</url> </url>
<url> <url>
<loc>None</loc> <loc>None</loc>
<lastmod>2020-01-17</lastmod> <lastmod>2020-01-22</lastmod>
<changefreq>daily</changefreq> <changefreq>daily</changefreq>
</url> </url>
<url> <url>
<loc>None</loc> <loc>None</loc>
<lastmod>2020-01-17</lastmod> <lastmod>2020-01-22</lastmod>
<changefreq>daily</changefreq> <changefreq>daily</changefreq>
</url> </url>
<url> <url>
<loc>None</loc> <loc>None</loc>
<lastmod>2020-01-17</lastmod> <lastmod>2020-01-22</lastmod>
<changefreq>daily</changefreq> <changefreq>daily</changefreq>
</url> </url>
<url> <url>
<loc>None</loc> <loc>None</loc>
<lastmod>2020-01-17</lastmod> <lastmod>2020-01-22</lastmod>
<changefreq>daily</changefreq> <changefreq>daily</changefreq>
</url> </url>
</urlset> </urlset>
\ No newline at end of file
无法预览此类型文件
...@@ -81,6 +81,10 @@ ...@@ -81,6 +81,10 @@
</li> </li>
<li class=""> <li class="">
<a class="" href="../tutorials/search_space.md">搜索空间</a>
</li>
<li class="">
<a class="" href="../tutorials/distillation_demo/">知识蒸馏</a> <a class="" href="../tutorials/distillation_demo/">知识蒸馏</a>
</li> </li>
</ul> </ul>
...@@ -109,10 +113,6 @@ ...@@ -109,10 +113,6 @@
<li class=""> <li class="">
<a class="" href="../api/nas_api/">SA搜索</a> <a class="" href="../api/nas_api/">SA搜索</a>
</li>
<li class="">
<a class="" href="../search_space/">搜索空间</a>
</li> </li>
<li class=" current"> <li class=" current">
...@@ -317,7 +317,7 @@ ...@@ -317,7 +317,7 @@
<a href="../algo/algo/" class="btn btn-neutral float-right" title="算法原理">Next <span class="icon icon-circle-arrow-right"></span></a> <a href="../algo/algo/" class="btn btn-neutral float-right" title="算法原理">Next <span class="icon icon-circle-arrow-right"></span></a>
<a href="../search_space/" class="btn btn-neutral" title="搜索空间"><span class="icon icon-circle-arrow-left"></span> Previous</a> <a href="../api/nas_api/" class="btn btn-neutral" title="SA搜索"><span class="icon icon-circle-arrow-left"></span> Previous</a>
</div> </div>
...@@ -345,7 +345,7 @@ ...@@ -345,7 +345,7 @@
<a href="https://github.com/PaddlePaddle/PaddleSlim/" class="fa fa-github" style="float: left; color: #fcfcfc"> GitHub</a> <a href="https://github.com/PaddlePaddle/PaddleSlim/" class="fa fa-github" style="float: left; color: #fcfcfc"> GitHub</a>
<span><a href="../search_space/" style="color: #fcfcfc;">&laquo; Previous</a></span> <span><a href="../api/nas_api/" style="color: #fcfcfc;">&laquo; Previous</a></span>
<span style="margin-left: 15px"><a href="../algo/algo/" style="color: #fcfcfc">Next &raquo;</a></span> <span style="margin-left: 15px"><a href="../algo/algo/" style="color: #fcfcfc">Next &raquo;</a></span>
......
...@@ -81,6 +81,10 @@ ...@@ -81,6 +81,10 @@
</li> </li>
<li class=""> <li class="">
<a class="" href="../search_space.md">搜索空间</a>
</li>
<li class="">
<a class="" href="../distillation_demo/">知识蒸馏</a> <a class="" href="../distillation_demo/">知识蒸馏</a>
</li> </li>
</ul> </ul>
...@@ -112,10 +116,6 @@ ...@@ -112,10 +116,6 @@
</li> </li>
<li class=""> <li class="">
<a class="" href="../../search_space/">搜索空间</a>
</li>
<li class="">
<a class="" href="../../table_latency/">硬件延时评估表</a> <a class="" href="../../table_latency/">硬件延时评估表</a>
</li> </li>
</ul> </ul>
......
...@@ -78,6 +78,10 @@ ...@@ -78,6 +78,10 @@
<li class=""> <li class="">
<a class="" href="../nas_demo/">SA搜索</a> <a class="" href="../nas_demo/">SA搜索</a>
</li>
<li class="">
<a class="" href="../search_space.md">搜索空间</a>
</li> </li>
<li class=" current"> <li class=" current">
...@@ -135,10 +139,6 @@ ...@@ -135,10 +139,6 @@
</li> </li>
<li class=""> <li class="">
<a class="" href="../../search_space/">搜索空间</a>
</li>
<li class="">
<a class="" href="../../table_latency/">硬件延时评估表</a> <a class="" href="../../table_latency/">硬件延时评估表</a>
</li> </li>
</ul> </ul>
......
...@@ -93,6 +93,10 @@ ...@@ -93,6 +93,10 @@
</li> </li>
<li class=""> <li class="">
<a class="" href="../search_space.md">搜索空间</a>
</li>
<li class="">
<a class="" href="../distillation_demo/">知识蒸馏</a> <a class="" href="../distillation_demo/">知识蒸馏</a>
</li> </li>
</ul> </ul>
...@@ -124,10 +128,6 @@ ...@@ -124,10 +128,6 @@
</li> </li>
<li class=""> <li class="">
<a class="" href="../../search_space/">搜索空间</a>
</li>
<li class="">
<a class="" href="../../table_latency/">硬件延时评估表</a> <a class="" href="../../table_latency/">硬件延时评估表</a>
</li> </li>
</ul> </ul>
...@@ -180,10 +180,10 @@ ...@@ -180,10 +180,10 @@
<h1 id="_1">网络结构搜索示例<a class="headerlink" href="#_1" title="Permanent link">#</a></h1> <h1 id="_1">网络结构搜索示例<a class="headerlink" href="#_1" title="Permanent link">#</a></h1>
<p>本示例介绍如何使用网络结构搜索接口,搜索到一个更小或者精度更高的模型,该文档仅介绍paddleslim中SANAS的使用及如何利用SANAS得到模型结构,完整示例代码请参考sa_nas_mobilenetv2.py或者block_sa_nas_mobilenetv2.py。</p> <p>本示例介绍如何使用网络结构搜索接口,搜索到一个更小或者精度更高的模型,该文档仅介绍paddleslim中SANAS的使用及如何利用SANAS得到模型结构,完整示例代码请参考sa_nas_mobilenetv2.py或者block_sa_nas_mobilenetv2.py。</p>
<h2 id="_2">接口介绍<a class="headerlink" href="#_2" title="Permanent link">#</a></h2> <h2 id="_2">接口介绍<a class="headerlink" href="#_2" title="Permanent link">#</a></h2>
<p>请参考。</p> <p>请参考<a href='../api/nas_api.md'>神经网络搜索API介绍</a></p>
<h3 id="1">1. 配置搜索空间<a class="headerlink" href="#1" title="Permanent link">#</a></h3> <h3 id="1">1. 配置搜索空间<a class="headerlink" href="#1" title="Permanent link">#</a></h3>
<p>详细的搜索空间配置可以参考<a href='../../../paddleslim/nas/nas_api.md'>神经网络搜索API文档</a> <p>详细的搜索空间配置可以参考<a href='../search_space.md'>搜索空间</a>
<div class="codehilite"><pre><span></span><span class="n">config</span> <span class="o">=</span> <span class="p">[(</span><span class="s1">&#39;MobileNetV2Space&#39;</span><span class="p">)]</span> <div class="codehilite"><pre><span></span><span class="err">config = [(&#39;MobileNetV2Space&#39;)]</span>
</pre></div></p> </pre></div></p>
<h3 id="2-sanas">2. 利用搜索空间初始化SANAS实例<a class="headerlink" href="#2-sanas" title="Permanent link">#</a></h3> <h3 id="2-sanas">2. 利用搜索空间初始化SANAS实例<a class="headerlink" href="#2-sanas" title="Permanent link">#</a></h3>
<div class="codehilite"><pre><span></span><span class="kn">from</span> <span class="nn">paddleslim.nas</span> <span class="kn">import</span> <span class="n">SANAS</span> <div class="codehilite"><pre><span></span><span class="kn">from</span> <span class="nn">paddleslim.nas</span> <span class="kn">import</span> <span class="n">SANAS</span>
......
...@@ -81,6 +81,10 @@ ...@@ -81,6 +81,10 @@
</li> </li>
<li class=""> <li class="">
<a class="" href="../search_space.md">搜索空间</a>
</li>
<li class="">
<a class="" href="../distillation_demo/">知识蒸馏</a> <a class="" href="../distillation_demo/">知识蒸馏</a>
</li> </li>
</ul> </ul>
...@@ -112,10 +116,6 @@ ...@@ -112,10 +116,6 @@
</li> </li>
<li class=""> <li class="">
<a class="" href="../../search_space/">搜索空间</a>
</li>
<li class="">
<a class="" href="../../table_latency/">硬件延时评估表</a> <a class="" href="../../table_latency/">硬件延时评估表</a>
</li> </li>
</ul> </ul>
......
...@@ -95,6 +95,10 @@ ...@@ -95,6 +95,10 @@
</li> </li>
<li class=""> <li class="">
<a class="" href="../search_space.md">搜索空间</a>
</li>
<li class="">
<a class="" href="../distillation_demo/">知识蒸馏</a> <a class="" href="../distillation_demo/">知识蒸馏</a>
</li> </li>
</ul> </ul>
...@@ -126,10 +130,6 @@ ...@@ -126,10 +130,6 @@
</li> </li>
<li class=""> <li class="">
<a class="" href="../../search_space/">搜索空间</a>
</li>
<li class="">
<a class="" href="../../table_latency/">硬件延时评估表</a> <a class="" href="../../table_latency/">硬件延时评估表</a>
</li> </li>
</ul> </ul>
......
...@@ -95,6 +95,10 @@ ...@@ -95,6 +95,10 @@
</li> </li>
<li class=""> <li class="">
<a class="" href="../search_space.md">搜索空间</a>
</li>
<li class="">
<a class="" href="../distillation_demo/">知识蒸馏</a> <a class="" href="../distillation_demo/">知识蒸馏</a>
</li> </li>
</ul> </ul>
...@@ -126,10 +130,6 @@ ...@@ -126,10 +130,6 @@
</li> </li>
<li class=""> <li class="">
<a class="" href="../../search_space/">搜索空间</a>
</li>
<li class="">
<a class="" href="../../table_latency/">硬件延时评估表</a> <a class="" href="../../table_latency/">硬件延时评估表</a>
</li> </li>
</ul> </ul>
......
...@@ -95,6 +95,10 @@ ...@@ -95,6 +95,10 @@
</li> </li>
<li class=""> <li class="">
<a class="" href="../search_space.md">搜索空间</a>
</li>
<li class="">
<a class="" href="../distillation_demo/">知识蒸馏</a> <a class="" href="../distillation_demo/">知识蒸馏</a>
</li> </li>
</ul> </ul>
...@@ -126,10 +130,6 @@ ...@@ -126,10 +130,6 @@
</li> </li>
<li class=""> <li class="">
<a class="" href="../../search_space/">搜索空间</a>
</li>
<li class="">
<a class="" href="../../table_latency/">硬件延时评估表</a> <a class="" href="../../table_latency/">硬件延时评估表</a>
</li> </li>
</ul> </ul>
......
...@@ -81,6 +81,10 @@ ...@@ -81,6 +81,10 @@
</li> </li>
<li class=""> <li class="">
<a class="" href="../search_space.md">搜索空间</a>
</li>
<li class="">
<a class="" href="../distillation_demo/">知识蒸馏</a> <a class="" href="../distillation_demo/">知识蒸馏</a>
</li> </li>
</ul> </ul>
...@@ -112,10 +116,6 @@ ...@@ -112,10 +116,6 @@
</li> </li>
<li class=""> <li class="">
<a class="" href="../../search_space/">搜索空间</a>
</li>
<li class="">
<a class="" href="../../table_latency/">硬件延时评估表</a> <a class="" href="../../table_latency/">硬件延时评估表</a>
</li> </li>
</ul> </ul>
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册