tensorRT安装

目录

1 参数 

2 pycuda 安装

3 TensorRT安装

3.1 下载安装包

3.2 安装指令

3.3 测试

4 报错分析

4. 1 在使用python API 调用 import tensorrt as trt 时,出现_py_Zero 异常:

4.2 引用不出来


 

不别不扯淡了,安装了好久才弄好。

1 参数 

尽量一致 要不报错

cuda版本5.0GA
cudnn7.3.1
cuda9.0.x或者以上
python3.5.x
系统ubuntu18.04 LST
GPUGTX1070
tensorflow-gpu1.12.0图像 小部件

2 pycuda 安装

pip3 install pycuda

另:
由于公司内部各个python版本共用一个 pip3 ,所以为了安装到指定的 python3.5 目录下,是通过
pip3.5 install -t /home/superuser/.local/lib/python3.5/site-packages pycuda 进行安装的,其中 -t 后面跟上python3.5 版本的安装路径,也就是pip3.5 的安装路径,我发现其实 pip3.5 install -t /home/superuser/.local/lib/python3.5/site-packages pycuda 与 pip3.5 install pycuda 是等价的,因为pip3 与 python3 一样,都是个软连接,而pip3.5 就已经是编译的命令了。

3 TensorRT安装

3.1 下载安装包

进入下载链接:https://developer.nvidia.com/tensorrt
点击Download Now(需要登录英伟达账号,用微信或者qq扫一下二维码就行了)
选择下载的版本(TensorRT5.0)
完成问卷调查
选择同意协议
根据自己的系统版本和CUDA版本,选择安装包,如图所示(如果是完整安装,建议选择Tar File Install Packages,官方推荐的)

图像 小部件

 我选择的是16.04  9.0

3.2 安装指令

下面为官方内容。

https://docs.nvidia.com/deeplearning/sdk/tensorrt-archived/tensorrt-700/tensorrt-install-guide/index.html

3.3 测试

# py2
python -c "import tensorrt;import uff;import graphsurgeon"
# py3
python3 -c "import tensorrt;import uff;import graphsurgeon"

没报错就ok了
 

4 报错分析

4. 1 在使用python API 调用 import tensorrt as trt 时,出现_py_Zero 异常:

代码段 小部件


查了一下,问题是tensorrt 仅支持 python3.5 ,不支持 python3.6,所以使pip3 install tensorrt-5.0.2.6-py2.py3-none-any.whl 默认把 tensorrt安装在了 /home/xxx/anaconda3/bin/python3 目录下,这样是找不到的,于是我将 pip3 修改为 python3.5 所在的环境,命令如下:
python3.5 -m pip install --upgrade --force-reinstall pip,修改后 which pip3 发现指向了 /home/xxx/.local/bin/pip。
在修改完之后,需要将此前的所有whl重新安装一遍,通过pip3 install tensorrt-5.0.2.6-py2.py3-none-any.whl 就可以了。
运行 python3.5 -c "import tensorrt as trt; print(trt.\_\_version\_\_)" 打印:5.0.2.6 。
相关链接(link)。
总结 报错原因基本上都是依赖关系不服,就是环境的问题。

4.2 引用不出来

如果import tensorrt不出来,可以尝试import tensorflow.contrib.tensorrt

5 简单使用

5.1 TensorRT 不支持Tensorflow的操作有如下

tf.unpack, tf.slice, tf.tile, tf.expand_dims, tf.fill, tf.cast, tf.floor_div, tf.range

比较坑,所以你必须限制你的模型使用的方法,尽量选择简便的操作方式

5.2 使用流程

在/TensoRT-5.0.2.6/samples/python文件夹下有很多python的例子,我们以第一个end_to_end_tensorflow_mnist的例子为例,描述tensorrt的使用流程,在README.md文件里也说得很明白了

5.3 生成pb文件

mkdir models
python model.py


运行model.py后(他在哪),会下载数据mnist.npz,并开始训练,完成后在models文件夹下生成lenet5.pb文件,如果自己已经训练得到pb文件,上述过程可以跳过

5.4 格式转化


要将tensorflow的pb文件转化为uff格式的文件,首先找到convert_to_uff文件,看自己用的是哪个版本的python,如果是python3,则在/usr/lib/python3.5/dist-packages/uff/bin文件夹下,如果是python2,则在/usr/lib/python2.7/dist-packages/uff/bin文件夹下

我们在终端中进入end_to_end_tensorflow_mnist,运行以下指令

python3.5 /usr/lib/python3.5/dist-packages/uff/bin/convert_to_uff.py --input_file models/lenet5.pb


则会在models文件夹中生成lenet5.uff文件

需要注意的是:该转化过程只支持在x86平台上实现,如果想在TX2等嵌入式平台上使用tensorrt,需要先在x86平台上将pb模型转化为uff文件,然后再拷贝到TX2上使用

5.5  运行文件


运行sample.py文件,得到如下输出,表明可完整的使用tensorrt


5.6 使用自己的模型


前边3步相当于是环境的配置,当然还不够,我们需要的是可以转化并运行我们自己的模型,达到加速的效果,因此接下来对相关的工作进行总结,具体转换参考https://blog.csdn.net/zong596568821xp/article/details/86622430

参考

https://blog.csdn.net/sinat_21720047/article/details/84447350

https://blog.csdn.net/zong596568821xp/article/details/86077553

https://www.cnblogs.com/demo-deng/p/10560667.html

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

颐水风华

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值