netrans/docs/html/quick_start_guide.html

254 lines
11 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="zh" data-content_root="./">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>快速入门 &#8212; netrans 0.1 文档</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=5ecbeea2" />
<link rel="stylesheet" type="text/css" href="_static/basic.css?v=b08954a9" />
<link rel="stylesheet" type="text/css" href="_static/alabaster.css?v=27fed22d" />
<script src="_static/documentation_options.js?v=52efc512"></script>
<script src="_static/doctools.js?v=9bcbadda"></script>
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
<link rel="index" title="索引" href="genindex.html" />
<link rel="search" title="搜索" href="search.html" />
<link rel="next" title="netrans_cli 使用" href="netrans_cli.html" />
<link rel="prev" title="netrans documentation" href="index.html" />
<link rel="stylesheet" href="_static/custom.css" type="text/css" />
</head><body>
<div class="document">
<div class="documentwrapper">
<div class="bodywrapper">
<div class="body" role="main">
<section id="id1">
<h1>快速入门<a class="headerlink" href="#id1" title="Link to this heading"></a></h1>
<p>本文档以 onnx 格式的 yolov5s 为例演示如何快速安装Nertans 并使用 Netrans 量化、编译模型并生成 nbg 文件。</p>
<section id="id2">
<h2>系统环境<a class="headerlink" href="#id2" title="Link to this heading"></a></h2>
<ul class="simple">
<li><p>Linux操作系统推荐 Ubuntu 20.04 或 Debian12</p></li>
<li><p>Python 3.8</p></li>
<li><p>RAM 至少 8GB</p></li>
</ul>
</section>
<section id="netrans">
<h2>安装Netrans<a class="headerlink" href="#netrans" title="Link to this heading"></a></h2>
<p>创建 python3.8 环境</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>wget<span class="w"> </span><span class="s2">&quot;https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-</span><span class="k">$(</span>uname<span class="k">)</span><span class="s2">-</span><span class="k">$(</span>uname<span class="w"> </span>-m<span class="k">)</span><span class="s2">.sh&quot;</span>
mkdir<span class="w"> </span>-p<span class="w"> </span>~/app
<span class="nv">INSTALL_PATH</span><span class="o">=</span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">HOME</span><span class="si">}</span><span class="s2">/app/miniforge3&quot;</span>
bash<span class="w"> </span>Miniforge3-Linux-x86_64.sh<span class="w"> </span>-b<span class="w"> </span>-p<span class="w"> </span><span class="si">${</span><span class="nv">INSTALL_PATH</span><span class="si">}</span>
<span class="nb">echo</span><span class="w"> </span><span class="s2">&quot;source &quot;</span><span class="si">${</span><span class="nv">INSTALL_PATH</span><span class="si">}</span>/etc/profile.d/conda.sh<span class="s2">&quot;&quot;</span><span class="w"> </span>&gt;&gt;<span class="w"> </span><span class="si">${</span><span class="nv">HOME</span><span class="si">}</span>/.bashrc
<span class="nb">echo</span><span class="w"> </span><span class="s2">&quot;source &quot;</span><span class="si">${</span><span class="nv">INSTALL_PATH</span><span class="si">}</span>/etc/profile.d/mamba.sh<span class="s2">&quot;&quot;</span><span class="w"> </span>&gt;&gt;<span class="w"> </span><span class="si">${</span><span class="nv">HOME</span><span class="si">}</span>/.bashrc
<span class="nb">source</span><span class="w"> </span><span class="si">${</span><span class="nv">HOME</span><span class="si">}</span>/.bashrc
mamba<span class="w"> </span>create<span class="w"> </span>-n<span class="w"> </span>netrans<span class="w"> </span><span class="nv">python</span><span class="o">=</span><span class="m">3</span>.8<span class="w"> </span>-y
mamba<span class="w"> </span>activate<span class="w"> </span>netrans
</pre></div>
</div>
<p>下载 Netrans</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="nb">cd</span><span class="w"> </span>~/app
git<span class="w"> </span>clone<span class="w"> </span>https://gitlink.org.cn/nudt_dsp/netrans.git
</pre></div>
</div>
<p>配置 Netrans</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="nb">cd</span><span class="w"> </span>~/app/netrans
./setup.sh
</pre></div>
</div>
</section>
<section id="netrans-yolov5s">
<h2>使用 Netrans 编译 yolov5s 模型<a class="headerlink" href="#netrans-yolov5s" title="Link to this heading"></a></h2>
<p>进入工作目录</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="nb">cd</span><span class="w"> </span>/app/netrans/examples/onnx
</pre></div>
</div>
<p>此时目录如下:</p>
<div class="highlight-text notranslate"><div class="highlight"><pre><span></span>onnx/
├── README.md
└── yolov5s
├── 0.jpg
├── dataset.txt
└── yolov5s.onnx
</pre></div>
</div>
<section id="netrans-cli-yolov5s">
<h3>使用 netrans_cli 编译 yolov5s<a class="headerlink" href="#netrans-cli-yolov5s" title="Link to this heading"></a></h3>
<section id="id3">
<h4>导入模型<a class="headerlink" href="#id3" title="Link to this heading"></a></h4>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>load.sh<span class="w"> </span>yolov5s
</pre></div>
</div>
<p>该命令会在工程目录下生成包含模型信息的 .json 和 .data 数据文件。</p>
<p>此时 yolov5s 的目录结构如下</p>
<div class="highlight-text notranslate"><div class="highlight"><pre><span></span>yolov5s/
├── 0.jpg
├── yolov5s.data
├── yolov5s.json
└── yolov5s.onnx
</pre></div>
</div>
</section>
<section id="id4">
<h4>生成配置文件模板<a class="headerlink" href="#id4" title="Link to this heading"></a></h4>
<p>配置文件定义输入数据前处理相关参数。Netrans预定义了配置文件模板生成脚本用户需根据模型前处理参数对配置文件进行修改。</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>config.sh<span class="w"> </span>yolov5s
</pre></div>
</div>
<p>此时 yolov5s 的目录结构如下:</p>
<div class="highlight-text notranslate"><div class="highlight"><pre><span></span>yolov5s/
├── 0.jpg
├── dataset.txt
├── yolov5s.data
├── yolov5s_inputmeta.yml
├── yolov5s.json
└── yolov5s.onnx
</pre></div>
</div>
<p>根据 yolov5s 的前处理参数 ,修改 yml 中的 scale 为 0.003921568627。
打开 <code class="docutils literal notranslate"><span class="pre">yolov5s_inputmeta.yml</span></code> 文件修改第30-33行</p>
<div class="highlight-text notranslate"><div class="highlight"><pre><span></span> scale:
- 0.003921568627
- 0.003921568627
- 0.003921568627
</pre></div>
</div>
</section>
<section id="id5">
<h4>量化模型<a class="headerlink" href="#id5" title="Link to this heading"></a></h4>
<p>生成 unit8 量化的量化参数文件</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>quantize.sh<span class="w"> </span>yolov5s<span class="w"> </span>uint8
</pre></div>
</div>
<p>此时 yolov5s 的目录结构如下:</p>
<div class="highlight-text notranslate"><div class="highlight"><pre><span></span>yolov5s/
├── 0.jpg
├── dataset.txt
├── yolov5s_asymmetric_affine.quantize
├── yolov5s.data
├── yolov5s_inputmeta.yml
├── yolov5s.json
└── yolov5s.onnx
</pre></div>
</div>
</section>
<section id="id6">
<h4>导出模型<a class="headerlink" href="#id6" title="Link to this heading"></a></h4>
<p>导出 unit8 量化的模型项目工程</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>export.sh<span class="w"> </span>yolov5s<span class="w"> </span>uint8
</pre></div>
</div>
<p>此时 yolov5s 的目录结构如下:</p>
<div class="highlight-text notranslate"><div class="highlight"><pre><span></span>yolov5s/
├── 0.jpg
├── dataset.txt
├── wksp
│ └── asymmetric_affine
│ └── network_binary.nb
├── yolov5s_asymmetric_affine.quantize
├── yolov5s.data
├── yolov5s_inputmeta.yml
├── yolov5s.json
└── yolov5s.onnx
</pre></div>
</div>
</section>
</section>
<section id="netrans-py-yolov5s">
<h3>使用 netrans_py 编译 yolov5s 模型<a class="headerlink" href="#netrans-py-yolov5s" title="Link to this heading"></a></h3>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>example.py<span class="w"> </span>yolov5s<span class="w"> </span>-q<span class="w"> </span>uint8<span class="w"> </span>-m<span class="w"> </span><span class="m">0</span><span class="w"> </span>-s<span class="w"> </span><span class="m">0</span>.003921568627
</pre></div>
</div>
</section>
</section>
</section>
</div>
</div>
</div>
<div class="sphinxsidebar" role="navigation" aria-label="Main">
<div class="sphinxsidebarwrapper">
<h1 class="logo"><a href="index.html">netrans</a></h1>
<search id="searchbox" style="display: none" role="search">
<div class="searchformwrapper">
<form class="search" action="search.html" method="get">
<input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" placeholder="Search"/>
<input type="submit" value="提交" />
</form>
</div>
</search>
<script>document.getElementById('searchbox').style.display = "block"</script><h3>导航</h3>
<p class="caption" role="heading"><span class="caption-text">Contents:</span></p>
<ul class="current">
<li class="toctree-l1 current"><a class="current reference internal" href="#">快速入门</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#id2">系统环境</a></li>
<li class="toctree-l2"><a class="reference internal" href="#netrans">安装Netrans</a></li>
<li class="toctree-l2"><a class="reference internal" href="#netrans-yolov5s">使用 Netrans 编译 yolov5s 模型</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="netrans_cli.html">netrans_cli 使用</a></li>
<li class="toctree-l1"><a class="reference internal" href="netrans_py.html">netrans_py 使用</a></li>
<li class="toctree-l1"><a class="reference internal" href="appendix.html">附录</a></li>
</ul>
<div class="relations">
<h3>Related Topics</h3>
<ul>
<li><a href="index.html">Documentation overview</a><ul>
<li>Previous: <a href="index.html" title="上一章">netrans documentation</a></li>
<li>Next: <a href="netrans_cli.html" title="下一章">netrans_cli 使用</a></li>
</ul></li>
</ul>
</div>
</div>
</div>
<div class="clearer"></div>
</div>
<div class="footer">
&#169;2025, ccyh.
|
Powered by <a href="https://www.sphinx-doc.org/">Sphinx 8.2.3</a>
&amp; <a href="https://alabaster.readthedocs.io">Alabaster 1.0.0</a>
|
<a href="_sources/quick_start_guide.md.txt"
rel="nofollow">Page source</a>
</div>
</body>
</html>