deploy: 9453eb1c709140becd3373666bb51e996e8f7260

This commit is contained in:
csukuangfj 2023-01-06 09:18:11 +00:00
parent 9289dab4d6
commit cead92a108
3 changed files with 54 additions and 9 deletions

View File

@ -531,16 +531,36 @@ First, let us install a modified version of ``ncnn``:
git clone https://github.com/csukuangfj/ncnn git clone https://github.com/csukuangfj/ncnn
cd ncnn cd ncnn
git submodule update --recursive --init git submodule update --recursive --init
python3 setup.py bdist_wheel
ls -lh dist/ # Note: We don't use "python setup.py install" or "pip install ." here
pip install ./dist/*.whl
mkdir -p build-wheel
cd build-wheel
cmake \
-DCMAKE_BUILD_TYPE=Release \
-DNCNN_PYTHON=ON \
-DNCNN_BUILD_BENCHMARK=OFF \
-DNCNN_BUILD_EXAMPLES=OFF \
-DNCNN_BUILD_TOOLS=OFF \
..
make -j4
cd ..
# Note: $PWD here is /path/to/ncnn
export PYTHONPATH=$PWD/python:$PYTHONPATH
export PATH=$PWD/tools/pnnx/build/src:$PATH
export PATH=$PWD/build/tools/quantize:$PATH
# now build pnnx # now build pnnx
cd tools/pnnx cd tools/pnnx
mkdir build mkdir build
cd build cd build
cmake ..
make -j4 make -j4
export PATH=$PWD/src:$PATH
./src/pnnx ./src/pnnx
@ -549,6 +569,9 @@ First, let us install a modified version of ``ncnn``:
We assume that you have added the path to the binary ``pnnx`` to the We assume that you have added the path to the binary ``pnnx`` to the
environment variable ``PATH``. environment variable ``PATH``.
We also assume that you have added ``build/tools/quantize`` to the environment
variable ``PATH`` so that you are able to use ``ncnn2int8`` later.
Second, let us export the model using ``torch.jit.trace()`` that is suitable Second, let us export the model using ``torch.jit.trace()`` that is suitable
for ``pnnx``: for ``pnnx``:

View File

@ -592,16 +592,36 @@ for how to use the exported models in <code class="docutils literal notranslate"
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>git<span class="w"> </span>clone<span class="w"> </span>https://github.com/csukuangfj/ncnn <div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>git<span class="w"> </span>clone<span class="w"> </span>https://github.com/csukuangfj/ncnn
<span class="nb">cd</span><span class="w"> </span>ncnn <span class="nb">cd</span><span class="w"> </span>ncnn
git<span class="w"> </span>submodule<span class="w"> </span>update<span class="w"> </span>--recursive<span class="w"> </span>--init git<span class="w"> </span>submodule<span class="w"> </span>update<span class="w"> </span>--recursive<span class="w"> </span>--init
python3<span class="w"> </span>setup.py<span class="w"> </span>bdist_wheel
ls<span class="w"> </span>-lh<span class="w"> </span>dist/ <span class="c1"># Note: We don&#39;t use &quot;python setup.py install&quot; or &quot;pip install .&quot; here</span>
pip<span class="w"> </span>install<span class="w"> </span>./dist/*.whl
mkdir<span class="w"> </span>-p<span class="w"> </span>build-wheel
<span class="nb">cd</span><span class="w"> </span>build-wheel
cmake<span class="w"> </span><span class="se">\</span>
<span class="w"> </span>-DCMAKE_BUILD_TYPE<span class="o">=</span>Release<span class="w"> </span><span class="se">\</span>
<span class="w"> </span>-DNCNN_PYTHON<span class="o">=</span>ON<span class="w"> </span><span class="se">\</span>
<span class="w"> </span>-DNCNN_BUILD_BENCHMARK<span class="o">=</span>OFF<span class="w"> </span><span class="se">\</span>
<span class="w"> </span>-DNCNN_BUILD_EXAMPLES<span class="o">=</span>OFF<span class="w"> </span><span class="se">\</span>
<span class="w"> </span>-DNCNN_BUILD_TOOLS<span class="o">=</span>OFF<span class="w"> </span><span class="se">\</span>
<span class="w"> </span>..
make<span class="w"> </span>-j4
<span class="nb">cd</span><span class="w"> </span>..
<span class="c1"># Note: $PWD here is /path/to/ncnn</span>
<span class="nb">export</span><span class="w"> </span><span class="nv">PYTHONPATH</span><span class="o">=</span><span class="nv">$PWD</span>/python:<span class="nv">$PYTHONPATH</span>
<span class="nb">export</span><span class="w"> </span><span class="nv">PATH</span><span class="o">=</span><span class="nv">$PWD</span>/tools/pnnx/build/src:<span class="nv">$PATH</span>
<span class="nb">export</span><span class="w"> </span><span class="nv">PATH</span><span class="o">=</span><span class="nv">$PWD</span>/build/tools/quantize:<span class="nv">$PATH</span>
<span class="c1"># now build pnnx</span> <span class="c1"># now build pnnx</span>
<span class="nb">cd</span><span class="w"> </span>tools/pnnx <span class="nb">cd</span><span class="w"> </span>tools/pnnx
mkdir<span class="w"> </span>build mkdir<span class="w"> </span>build
<span class="nb">cd</span><span class="w"> </span>build <span class="nb">cd</span><span class="w"> </span>build
cmake<span class="w"> </span>..
make<span class="w"> </span>-j4 make<span class="w"> </span>-j4
<span class="nb">export</span><span class="w"> </span><span class="nv">PATH</span><span class="o">=</span><span class="nv">$PWD</span>/src:<span class="nv">$PATH</span>
./src/pnnx ./src/pnnx
</pre></div> </pre></div>
@ -610,6 +630,8 @@ make<span class="w"> </span>-j4
<p class="admonition-title">Note</p> <p class="admonition-title">Note</p>
<p>We assume that you have added the path to the binary <code class="docutils literal notranslate"><span class="pre">pnnx</span></code> to the <p>We assume that you have added the path to the binary <code class="docutils literal notranslate"><span class="pre">pnnx</span></code> to the
environment variable <code class="docutils literal notranslate"><span class="pre">PATH</span></code>.</p> environment variable <code class="docutils literal notranslate"><span class="pre">PATH</span></code>.</p>
<p>We also assume that you have added <code class="docutils literal notranslate"><span class="pre">build/tools/quantize</span></code> to the environment
variable <code class="docutils literal notranslate"><span class="pre">PATH</span></code> so that you are able to use <code class="docutils literal notranslate"><span class="pre">ncnn2int8</span></code> later.</p>
</div> </div>
<p>Second, let us export the model using <code class="docutils literal notranslate"><span class="pre">torch.jit.trace()</span></code> that is suitable <p>Second, let us export the model using <code class="docutils literal notranslate"><span class="pre">torch.jit.trace()</span></code> that is suitable
for <code class="docutils literal notranslate"><span class="pre">pnnx</span></code>:</p> for <code class="docutils literal notranslate"><span class="pre">pnnx</span></code>:</p>

File diff suppressed because one or more lines are too long