大漠苍穹 發表於 2021-8-30 13:38:00

ubuntu安装TensorRT

<h1 id="ubuntu1804cuda112cudnn805tensorrt7223安装">ubuntu18.04+cuda11.2+cudnn8.0.5+Tensorrt7.2.2.3安装</h1>
<h1 id="环境">环境</h1>
<p>系统:ubuntu 18.04</p>
<p>编译器:gcc 7.5</p>
<p>如果之前安装过deb格式的tensorrt,需要卸载</p>
<h2 id="卸载tensorrt">卸载tensorrt</h2>
<pre><code>sudo apt-get purge "libnvinfer*"
sudo apt-get purge graphsurgeon-tf onnx-graphsurgeon
sudo apt-get purge uff-converter-tf
</code></pre>
<p>如果用pip安装过对应的包(根据自己安装过的包卸载)</p>
<pre><code>sudo pip3 uninstall tensorrt
sudo pip3 uninstall uff
sudo pip3 uninstall graphsurgeon
sudo pip3 uninstall onnx-graphsurgeon
</code></pre>
<h2 id="删除key">删除key</h2>
<p>由于之前安装过其他版本的tensorrt,安装新的tensorrt时会默认安装key中最新版本的tensorrt,因此想要安装老版本的tensorrt需要删除其他版本的key。</p>
<p>查看key</p>
<pre><code>sudo apt-key list
</code></pre>
<p>查看key列表</p>
<pre><code>ls /etc/apt/source.list.d
</code></pre>
<p>删除key</p>
<pre><code>sudo rm /etc/apt/source.list.d/nv-tensorrt-ubuntu1804-cuda11.3-trt8.0.0.3-ea-20210423.list
</code></pre>
<p>删除安装包</p>
<pre><code>sudo rm -rf /var/nv-tensorrt-repo-cuda11.3-trt8.0.0.3-ga-20201211
</code></pre>
<h2 id="安装tensorrt">安装tensorrt</h2>
<p>官网教程</p>
<h3 id="deb版本">deb版本</h3>
<p>cuda和cudnn也要是deb安装</p>
<pre><code>os="ubuntuxx04"
tag="cudax.x-trt8.x.x.x-ea-yyyymmdd"
sudo dpkg -i nv-tensorrt-repo-${os}-${tag}_1-1_amd64.deb
sudo apt-key add /var/nv-tensorrt-repo-${tag}/7fa2af80.pub

sudo apt-get update
sudo apt-get install tensorrt
</code></pre>
<p>验证</p>
<pre><code>dpkg -l | grep TensorRT
</code></pre>
<p>进入<code>/var/nv-tensorrt-repo-ubuntu1804-cuda11.1-trt7.2.3.4-ga-20210226</code></p>
<p>安装剩下的包,eg:uff</p>
<pre><code>sudo apt-get install uff-converter-tf
</code></pre>
<p>如果要安装python接口,下载压缩包版本的tensorrt,在解压后的目录中通过pip安装对应的whl</p>
<p><code>sudo pip3 install TensorRT-${version}/python/tensorrt-*-cp3x-none-linux_x86_64.whl</code></p>
<p>可能会遇到部分包缺失依赖</p>
<pre><code>libnvinfer-bin : Depends: libnvinfer-plugin7 (= 7.2.2-1+cuda11.1) but it is not going to be installed
                  Depends: libnvparsers7 (= 7.2.2-1+cuda11.1) but it is not going to be installed
                  Depends: libnvonnxparsers7 (= 7.2.2-1+cuda11.1) but it is not going to be installed
</code></pre>
<p>安装对应的依赖</p>
<pre><code>sudo apt-get install libnvinfer-plugin7 (= 7.2.2-1+cuda11.1
</code></pre>
<p>验证</p>
<pre><code>cp /usr/src/tensorrt ~/
cd ~/tensorrt/sample/sampleMNIST
make
cd ~/tensorrt/bin
./sample_mnist
</code></pre>
<p>如果提示数据不存在,进入<code>data/mnist</code>目录,运行<code>download_pgms.py</code>下载数据</p>
<h3 id="编译好的压缩包安装">编译好的压缩包安装</h3>
<p>解压压缩包</p>
<pre><code>version="8.x.x.x"
arch=$(uname -m)
cuda="cuda-x.x"
cudnn="cudnn8.x"
tar xzvf TensorRT-${version}.Linux.${arch}-gnu.${cuda}.${cudnn}.tar.gz
</code></pre>
<p>写入路径</p>
<pre><code>export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:&lt;TensorRT-${version}/lib&gt;
</code></pre>
<p>如果要安装python接口,在解压后的目录中通过pip安装对应的whl</p>
<p><code>sudo pip3 install TensorRT-${version}/python/tensorrt-*-cp3x-none-linux_x86_64.whl</code></p>
<p>验证</p>
<pre><code>cp /usr/src/tensorrt ~/
cd ~/tensorrt/sample/sampleMNIST
make
cd ~/tensorrt/bin
./sample_mnist
</code></pre>
<p>如果提示数据不存在,进入<code>data/mnist</code>目录,运行<code>download_pgms.py</code>下载数据</p>
<h2 id="可能遇到的问题">可能遇到的问题</h2>
<p><strong>libm.so.6: version `GLIBC_2.27‘ not found</strong></p>
<p>问题libm.so.6: version `GLIBC_2.27‘ not found的解决方法</p>
<p>终端输入<code>strings /lib/x86_64-linux-gnu/libm.so.6 | grep GLIBC_</code></p>
<p>ubuntu16.04会得到:<code>GLIBC_2.2.5</code>、<code>GLIBC_2.4</code>、<code>GLIBC_2.15</code>、<code>GLIBC_2.18</code>、<code>GLIBC_2.23</code></p>
<p>ubuntu18.04会得到:<code>GLIBC_2.2.5</code>、<code>GLIBC_2.4</code>、<code>GLIBC_2.15</code>、<code>GLIBC_2.18</code>、<code>GLIBC_2.23</code>、<code>GLIBC_2.24</code>、<code>GLIBC_2.25</code>、<code>GLIBC_2.26</code>、<code>GLIBC_2.27</code></p>
<p>本质上是ubuntu16.04安装成了ubuntu18.04的版本</p><br><br>
来源:https://www.cnblogs.com/xiaowk/p/15205508.html
頁: [1]
查看完整版本: ubuntu安装TensorRT