Ubuntu18.04 配置TensorRT6.0爬坑记录

首先这是一个不完美的配置,因为Cudnn版本和TensorRT的版本并没有完全对上,运行的时候会报警告。

另:如果不做第四步TensorRT的配置大家可以将这篇文章视为一篇简单的深度学习环境配置文。

列一下版本号

  • Ubuntu 18.04
  • Cuda:10.1
  • Cudnn:7.6.0
  • Miniconda3:4.7.10
  • Pycharm:2019.2.3
  • TensorRT:6.0.1.5

步骤:

  1. Nvidia驱动
  2. Cuda和Cudnn
  3. Miniconda和Pycharm
  4. 安装并在环境中配置TensorRT

安装Nvidia驱动

提到Ubuntu安装Nvidia驱动大家应该会想起被nouveau支配的恐惧,因为需要各种命令去禁用nouveau才能顺利安装上Nvidia驱动。不过在这次配置中我并没有手动禁用nouveau的操作,而是采用了官方源的方式把驱动自动安装。

ubuntu-drivers devices
sudo ubuntu-drivers autoinstall

上面一行查询可用的驱动,下面一行进行自动安装,然后重启就好了。

Cuda和Cudnn

首先下载Cuda安装包(.runfile格式),Cudnn(只下载cuDNN Library for Linux就好)。

进入下载目录然后运行cuda安装文件。

sudo sh cuda_10.1.243_418.87.00_linux.run

配置环境变量。在~/.bashrc中加入如下:

export CUDA_HOME=/usr/local/cuda
export PATH=$PATH:$CUDA_HOME/bin
export LD_LIBRARY_PATH=/usr/local/cuda-10.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

解压Cudnn包,得到的是一个名为cuda的文件夹。推荐大家用命令行,可是如果跟我一样不爱写代码可以直接右键Extract Here就好。

然后将include和lib64中的文件分别拷到/usr/local/cuda下的这两个目录中。还是推荐大家用命令行,如果不爱写代码可以用sudo nautilus在GUI中进行拖拽。

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*

Miniconda和Pycharm

首先下载Miniconda(推荐清华源,Anaconda功能全面带界面,不过体积较庞大,看个人习惯)和Pycharm(有学生证的同学可以下专业版)。

然后进入安装目录运行Miniconda安装包顺着过程安装就好。注意有个是否使用conda init,没选的同学需要手动添加conda到环境变量中,选了就是使用conda初始化你的bash。

最后换源,修改conda源与pip源(yes,conda环境中也能使用pip安装管理包),方法来自清华源

conda源修改~/.condarc文件:

channels:
  - defaults
show_channel_urls: true
default_channels:
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
custom_channels:
  conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud

pip源

pip install pip -U
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

Pycharm的安装其实就是解压安装包,然后进入目录下的/bin中,运行pycharm.sh就好。但是每次都打开安装目录很不方便,下面介绍如何给pycharm创建一个桌面快捷方式。

首先在~/Desktop下新建一个Pycharm.desktop,输入以下内容

[Desktop Entry]
Type=Application
Name=Pycharm
GenericName=pycharm-2019.2.3
Comment=Pycharm3:The Python IDE
Exec=sh /opt/pycharm-2019.2.3/bin/pycharm.sh
Icon=/opt/pycharm-2019.2.3/bin/pycharm.png
Terminal=false
Categories=Pycharm;

其中/opt/pycharm-2019.2.3是我的安装目录,Exec就是运行pycharm的命令。

安装并在环境中配置TensorRT

首先用conda新建一个环境

conda create -n tensorrt python=3.7conda activate tensorrt

tensorrt是环境名,python版本为3.7

如果大家看到这里,并且不想配置TensorRT了,可以以一条Pytorch的安装命令完美结束这次配置。

conda install pytorch torchvision cudatoolkit=10.0

如果大家还想继续爬坑,先下载TensorRT安装包。(我选的是Tar包,DEB试过但安装libnvinfer那一步不成功,求大神指导)需要注意的是

进行解压后进入目录。

将lib目录添加到环境变量LD_LIBRARY_PATH中:(大家如果不用python API到这里可以直接跳过看Sample)

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:<eg:TensorRT-6.x.x.x/lib>

用Python API的朋友看这边)然后我们激活刚刚创建的conda环境,首先安装cudatoolkit10.1和cudnn7.6.0

conda install cudatoolkit=10.1
conda install cudnn

进入python文件夹

pip install tensorrt-6.0.1.5-cp37-none-linux_x86_64.whl

进入uff文件夹安装uff

pip install uff-0.6.5-py2.py3-none-any.whl

进入graphsurgeon安装graphsurgeon

pip install graphsurgeon-0.4.1-py2.py3-none-any.whl

安装onnx,numpy,Pillow,pycuda

pip install --no-binary onnx ‘onnx==1.5.0‘
pip install numpy
pip install Pillow
pip install pycuda

配置基本完成,下面我们运行sample来验证一下。

首先是C++ samples。进入samples文件夹,编辑Makefile.config,找到CUDA_INSTALL_DIR和CUDNN_INSTALL_DIR这一行,把问号去掉,保存关闭。在samples文件夹中make进行编译。

/opt/TensorRT-6.0.1.5/samples$ sudo make

编译成功打开bin目录,运行想运行的程序(运行前先看一眼sample中对应的readme),我试的是sample_fasterRCNN。首先在/data/faster-rcnn中下载权重文件VGG16_faster_rcnn_final.caffemodel,然后回到/bin中运行./sample_fasterRCNN即可。测试用例一共4个下面给大家贴一个。

下面介绍Python sample。首先用Pycharm打开/samples/python文件夹。(我直接复制出来)

其中tensorflow和pytorch的sample需要对应框架支持,我只测试了caffe的int8_caffe_mnist。

在data/mnist/目录中下载MNIST数据集,如果像我这样把整个samples/python复制出来的需要在原目录的data/mnist中拷贝文件过来。

然后运行sample.py,注意用pycharm直接运行会报错找不到libnvinfer,需要在配置中加入环境变量LD_LIBRARY_PATH=/opt/TensorRT-6.0.1.5/lib。

下面是运行结果。

首先是一个警告三连(因为conda环境中最高的cudnn版本是7.6.0所以我也没有办法了,特别奇怪的是系统cudnn是7.6.3的时候会运行不下去,希望conda尽快更新cudnn的版本)。

好了这篇配置小白文就到这里,望大家多多指教。

原文地址:https://www.cnblogs.com/rickyngmo22/p/11650994.html

时间: 2024-10-09 16:17:25

Ubuntu18.04 配置TensorRT6.0爬坑记录的相关文章

Ubuntu18.04配置中文输入法(系统自带的)

Ubuntu18.04配置中文输入法 之前安装Ubuntu18.04的时候选择了english,现在要配置中文的输入法 打开系统设置 点击其中的工具按钮左边第一个 点击管理语言 ==如果系统刚安装可能需要下载语言,等一会儿就可以了 点击添加删除语言 勾选简体中文 点击应用 拖动中文到第一行 点击加号 点击汉语 选中pinyi,点击添加 **到这里就结束了,如果还不行可以logout或者reboot 原文地址:https://www.cnblogs.com/d-i-p/p/10145125.htm

03、Swagger2和Springmvc整合详细记录(爬坑记录)

时间 内容 备注 2018年6月18日 基本使用 spirngmvc整合swagger2 开始之前这个系列博文基本是,在项目的使用中一些模块的内容记录,但是后期逐渐优化,不单单是整合内容. swagger简介 1.swagger主要提供了三个功能: Swagger Editor: Swagger提供的一个编辑器,用来通过Swagger提供的特定的YAML语法来编写API文档 Swagger Codegen: 代码生成器 Swagger UI: YAML语法定义我们的RESTful API,然后它

【Tool】---ubuntu18.04配置oh-my-zsh工具

作为Linux忠实用户,应该没有人不知道bash shell工具了吧,其实除了bash还有许多其他的工具,zsh就是一款很好得选择,基于zsh shell得基础之上,oh-my-zsh工具更是超级利器强推. 基于Ubuntu18.04系统配置oh-my-zsh得步骤如下: 1. 使用apt-get工具安装zsh工具:sudo apt-get install zsh 2. 安装oh-my-zsh:   sh -c "$(wget https://raw.github.com/robbyrussel

Ubuntu18.04配置ORB-SLAM2过程中的问题

https://www.imooc.com/article/details/id/29136 1. 提示"CMAKE_CXX_COMPILER-NOTFOUND " 具体形式: Check for working CXX compiler: CMAKE_CXX_COMPILER-NOTFOUND CMake Error: your CXX compiler: "CMAKE_CXX_COMPILER-NOTFOUND" was not found. Please se

webpack 4 入坑及爬坑记录

一.安装 在本机安装好nodejs的基础上,window操作系统,cmd打开控制台 npm init //初始化npm npm install webpack --save-dev 正常等待安装完成,安装完成可能会出现一些警告,嗯...警告,不管了... 然后新建项目,css,js,html文件一顿写,然后运行webpack,报错...提示安装webpack-cli,安装完成之后,一直反复,不能忍,查找网页找原因,最后据说是版本的原因,也就是使用webpack4+,需要安装CLI,我觉得是废话,

Ubuntu18.04 使用过程遇到的问题记录

1.Ubuntu 18.04 安装搜狗输入法 貌似每次重新安装系统后解决输入法都是一个老大难问题,这里记录的是 Ubuntu 18.04 环境下安装搜狗输入法的过程,总的来说比较顺利. (1) 安装 fcitx .在新安装好的 Ubuntu 18.04 系统中,发现键盘输入系统中没有 fcitx 选项,可以通过命令行进行安装. sudo apt-get install fcitx //安装 fcitx (2) 安装完成后,在屏幕右上角的下拉菜单中选择设置,Region&Language ->

TensorFlow安装(Ubuntu18.04+Anaconda3+CUDA9.0+cuDNN7.1+TensorFlow1.8.0+Pycharm)

p { margin-bottom: 0.1in; line-height: 115% } a:link { } 1.安装pip (1)安装 sudo apt-get install python3-pip python3-dev (2)查看pip是否安装成功 pip3 -V (3)切换国内源 Linux下,修改 ~/.pip/pip.conf (没有就创建一个), 修改 index-url至tuna,内容如下: [global] index-url = https://pypi.tuna.ts

.NET CORE 2.0 踩坑记录之ConfigurationManager

在之前.net framework 中使用的ConfigurationManager还是很方便的,不过在.NET CORE 2.0中SDK默认已经不存在ConfigurationManager. 那么如果想向以前一样使用ConfigurationManager 方法 在nugut 上安装System.Configuration.ConfigurationManager 然后在项目中添加app.config 文件 by the way :为啥是app.config?而不是web.config,这是

vue2.0 踩坑记录之组件

- did you register the component correctly? For recursive components, make sure to provide the "name" option. 出现如上错误的原因大致有以下三点(我踩坑只踩到了这四种情况,如果还有 之后会更新) 1.未能正确的拼好components单词. 这是个低级错误,应该作为第一步排查的可能 2.定义子组件时没有在父组件的内部定义 子组件一定要在父组件中局部注册 3.局部注册的定义写在了实