(原)Ubuntu安装TensorRT
转载请注明出处:
https://www.cnblogs.com/darkknightzh/p/11129472.html
参考网址:
https://docs.nvidia.com/deeplearning/sdk/tensorrt-install-guide/index.html
https://arleyzhang.github.io/articles/7f4b25ce/
https://docs.nvidia.com/deeplearning/sdk/cudnn-install/index.html
1 说明
1.1 直接使用deb安装的。不过不记得之前cuda驱动是如何安装的了。网上说cuda驱动和TensorRTF都是deb安装的才行。。。
1.2 安装环境是ubuntu 16.04.1+anaconda(python3.6.8)+cuda9.0+cudnn7.5
2 安装步骤
2.1 sudo dpkg -i nv-tensorrt-repo-ubuntu1604-cuda9.0-trt5.1.5.0-ga-20190427_1-1_amd64.deb
2.2 sudo apt-key -add /var/nv-tensorrt-repo-cuda9.0-trt5.1.5.0-ga-20190427/7fa2af80.pub

2.3 sudo apt-get update
2.4 sudo apt-get install tensorrt
至此,TensorRTF安装完成。
2.5 通过下面命令检查一下是否安装成功:
dpkg -l | grep TensorRT

2.6 通过下面命令安装(不知道是啥,反正安装就对了):
sudo apt-get install python3-libnvinfer-dev

2.7 到上面,python里面无法import tensorrt。直接使用ubuntu自带的archive manager打开nv-tensorrt-repo-ubuntu1604-cuda9.0-trt5.1.5.0-ga-20190427_1-1_amd64.deb文件,可以看到里面有python3.6的XXX。通过下面命令安装该whl文件。
pip install tensorrt-5.1.5.0-cp36-none-linux_x86_64.whl


2.8 验证python能否导入tensorrt(此处成功):

2.9 安装PyCUDA。
PyCUDA允许python直接访问CUDA的API。
首先保证nvcc在PATH路径中。而后输入:
pip install 'pycuda>=2017.1.1'
2.10 验证程序能否运行(见下面网址)
https://arleyzhang.github.io/articles/7f4b25ce/
可以把 tensorrt 文件夹拷贝到用户目录下,方便自己修改测试例程中的代码。
进入 samples 文件夹直接 make,会在 bin 目录中生成可执行文件,可以一一进行测试学习。
运行了sample_mnist,结果如下:

3 卸载
具体见网址:
https://docs.nvidia.com/deeplearning/sdk/tensorrt-install-guide/index.html#uninstalling
sudo apt-get purge "libnvinfer*"
pip uninstall tensorrt
4 其他
4.1 cudnn使用deb安装:
说明:不建议使用这种方式安装。
Navigate to your <cudnnpath> directory containing cuDNN Debian file.
Install the runtime library, for example:
sudo dpkg -i libcudnn7_7.0.3.-+cuda9.0_amd64.deb
Install the developer library, for example:
sudo dpkg -i libcudnn7-devel_7.0.3.-+cuda9.0_amd64.deb
Install the code samples and the cuDNN Library User Guide, for example:
sudo dpkg -i libcudnn7-doc_7.0.3.-+cuda9.0_amd64.deb
4.2 使用tar文件安装
Navigate to your <cudnnpath> directory containing the cuDNN Tar file.
Unzip the cuDNN package.
tar -xzvf cudnn-9.0-linux-x64-v7.tgz
Copy the following files into the CUDA Toolkit directory, and change the file permissions.
sudo cp cuda/include/cudnn.h /usr/local/cuda/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*
4.3 测试cudnn是否安装成功
1)/usr/src/cudnn_samples_v7放到home文件夹下。
2)cd mnistCUDNN/
3)make

4)./mnistCUDNN

出错了。。。
原因是之前/usr/local/cuda中cudnn用的是7.4.2版本的。替换为7.5之后,运行成功。(实际上在/usr/lib/x86_64-linux-gnu中有刚刚使用deb装上的7.5版本的cudnn,但是程序未能找到。不知道目前有两套相同版本的cudnn,以后会不会出问题吧。。。所以不建议使用deb安装,位置不可控)

(原)Ubuntu安装TensorRT的更多相关文章
- [原] ubuntu安装Fcitx输入法
1.终端输入: sudo add-apt-repository ppa:wengxt/fcitx-nightly 按回车确认添加 2.sudo apt-get update 更新软件源 3.sudo ...
- ubuntu安装ftp服务器
ubuntu安装ftp服务器 1: 安装vsftpd ~$ sudo apt-get install vsftpd ubuntu10.10自己装了,这步省略. 2: 配置vsftpd 2.1 修改vs ...
- 安装XP和Ubuntu双系统问题——Ubuntu安装时无法识别原有系统
我主机本来安装了windows xp 和unbuntu15.04,由于在ubuntu下不小心卸载某依赖后,无法登入桌面,网上查了好多资料,原因各种,解决途径也各种,最终是还没有解决问题.各种更新,各种 ...
- 【Linux探索之旅】第一部分第四课:磁盘分区,并完成Ubuntu安装
内容简介 1.第一部分第四课:磁盘分区,并完成Ubuntu安装 2.第一部分第五课预告:Unity桌面,人生若只如初见 磁盘分区 上一课我们正式开始安装Ubuntu了,但是到了分区的那一步,小编却戛然 ...
- Ubuntu 安装 H3C iNode 客户端
Ubuntu 安装 H3C iNode 客户端 之前在网上找了很多方法,也找了不少的安装包,却由于各种各样的问题,最后都没有成功(因为自己太菜).而学校用的就是iNode,客户端装不了,只能用Wi ...
- 第21篇 ubuntu安装ftp服务器(转载)
ubuntu安装ftp服务器 1: 安装vsftpd ~$ sudo apt-get install vsftpd ubuntu10.10自己装了,这步省略. 2: 配置vsftpd 2.1 修改vs ...
- Win10 + Ubuntu 安装教程(痛苦踩坑)
今天搞了一天,痛苦万分,本文的教程基本适用大部分情况,现在记录下需要主义的几点: 一.制作ubuntu usb安装盘的时候,格式要选saw的,千万不要用usb-HDD+的 二.安装完后使用EasyBC ...
- Mac OS、Ubuntu 安装及使用 Consul
Consul 概念(摘录): Consul 是 HashiCorp 公司推出的开源工具,用于实现分布式系统的服务发现与配置.与其他分布式服务注册与发现的方案,比如 Airbnb 的 SmartStac ...
- ubuntu安装mysql
好记性不如烂笔头,记录一下,ubuntu安装mysql的指令. 安装MySQL: sudo apt-get install mysql-server sudo apt-get install mysq ...
随机推荐
- zz阿里小蜜—智能服务技术实践及场景探索(AI先行者大会)Final.pdf
SLQA+ 模型
- AndroidStdio模拟器打不开报错 Guest isn't online after 7 seconds
开了好几次模拟器,始终运行不出来原来的一个项目.报错如下: 解决方案: 经过百度,可能是Android Studio 3.0升级到3.0.1,启动原来建好的模拟器废掉了. 找到你软件中的 建议选择屏幕 ...
- set去重应用
1.其中涉及__hash__与__eq__这两个内置方法. 2.列如: 要求用类生成多个对象,其中姓名和性别相同的对象可认为是同一个人,用set原理做去重 class People: def __in ...
- [LeetCode] 719. Find K-th Smallest Pair Distance 找第K小的数对儿距离
Given an integer array, return the k-th smallest distance among all the pairs. The distance of a pai ...
- DingTalk钉钉消息推送(.net core 3 WebApi尝鲜记)
我发了个朋友圈,Swagger真他妈的牛B,解放了开发API的码农,麻麻再也不用担心我们写API文档耽误回家吃饭了. /// <summary> /// 发送钉钉消息 /// </s ...
- linux _文件目录与权限
1. 目录相关 . 代表次层目录 .. 代表上一层目录 - 代表前一个工作目录 ~ 代表目前使用者身份所在home目录 ~account 代表account这个使用者的home目录 cd 切换目录(c ...
- 【linux】lvm扩展根分区
lvm扩展根目录 1.lvm的基本概念 physical volume (PV) 通常是一快硬盘.相当于一个物理设备,磁盘空间物理卷PV. volume group (VG) 相当于LVM的卷组,属于 ...
- [转帖]tcpdump详细教程
tcpdump详细教程 https://www.jianshu.com/p/d9162722f189 tcpdump tcpdump - dump traffic on a network tcpdu ...
- Sitecore 十大优秀功能
为客户的需求创建最佳解决方案是我们的主要目标.良好的设计不仅仅是视觉吸引力,还要确保用户体验简单直观.在设计Sitecore网站时,我们始终牢记这一点 . 以下是一些我最喜欢的功能,可以帮助我们使用 ...
- 【生活现场】从打牌到map-reduce工作原理解析(转)
原文:http://www.sohu.com/a/287135829_818692 小史是一个非科班的程序员,虽然学的是电子专业,但是通过自己的努力成功通过了面试,现在要开始迎接新生活了. 对小史面试 ...