ubuntu18.04/20.04cv环境配置(中):tensorrt+pytorch安装配置(代码片段)

TechblogofHaoWANG TechblogofHaoWANG     2022-12-03     253

关键词:

Ubuntu 18.04/20.04 CV环境配置(上):CUDA11.1 + cudnn安装配置_Techblog of HaoWANG的博客-CSDN博客Ubuntu18.04 20.04 NVIDIA CUDA 环境配置与cudnn Tensorrt等配置与使用https://blog.csdn.net/hhaowang/article/details/125803582?spm=1001.2014.3001.5501

目录

TensorRT的好处

1. 版本选择

1.1 安装CUDA和cudnn

 1.2 安装Tensorrt

2. 下载文件

3.1 Tensorrt 编译

3.2 Pytorch安装

4. 环境设置

5. 卸载

6. 安装TRT Pose

7. 安装Realsense -ROS


什么是Tensorrt?参考知乎解释

什么是TensorRT - 知乎Tensor是一个有助于在NVIDIA图形处理单元(GPU)上高性能推理c++库。它旨在与TesnsorFlow、Caffe、Pytorch以及MXNet等训练框架以互补的方式进行工作,专门致力于在GPU上快速有效地进行网络推理。 如今现有的一些训…https://zhuanlan.zhihu.com/p/356072366

 

Tensor是一个有助于在NVIDIA图形处理单元(GPU)上高性能推理c++库。它旨在与TesnsorFlow、Caffe、Pytorch以及MXNet等训练框架以互补的方式进行工作,专门致力于在GPU上快速有效地进行网络推理。

如今现有的一些训练框架(例如TensorFlow)已经集成了TensorRT,因此可以将其用于加速框架中的推理。另外,TensorRT可以作为用户应用程序中的库,它包括用于从Caffe,ONNX或TensorFlow导入现有模型的解析器,以及用于以编程方式(C++或Python API)构建模型。

TensorRT的好处

在训练了神经网络之后,TensorRT可以对网络进行压缩、优化以及运行时部署,并且没有框架的开销。TensorRT通过combines layers,kernel优化选择,以及根据指定的精度执行归一化和转换成最优的matrix math方法,改善网络的延迟、吞吐量以及效率。

对于深度学习推理中,有5个用于衡量软件的关键因素:

  1. 吞吐量
  2. 效率
  3. 延迟性
  4. 准确性
  5. 内存使用情况

TensorRT通过结合抽象出特定硬件细节的高级API和优化推理的实现来解决这些问题,以实现高吞吐量、低延迟和低设备内存占用。


1. 版本选择

1.1 安装CUDA和cudnn

首先,按照上述历程安装配置CUDA11.1和cudnn8.0.4

 

 1.2 安装Tensorrt

下载TENSORRT 注意CUDA和CUDNN的版本对应版本,

NVIDIA TensorRT 7.x Download | NVIDIA Developerhttps://developer.nvidia.com/nvidia-tensorrt-7x-downloadNVIDIA Developer Program Membership Required | NVIDIA Developerhttps://developer.nvidia.com/nvidia-tensorrt-7x-downloadSupport Matrix :: NVIDIA Deep Learning TensorRT Documentationhttps://docs.nvidia.com/deeplearning/tensorrt/support-matrix/index.html#software-version-platform

 注意这里选择deb包,因为采用这种方式安装会自动的安装cudnn, nvinfer, nvinfer-plugin,等必须配置

2. 下载文件

Tensorrt下载完成后执行如下命令

wget https://developer.nvidia.com/compute/machine-learning/tensorrt/secure/7.2.2/tars/TensorRT-7.2.2.3.Ubuntu-18.04.x86_64-gnu.cuda-11.1.cudnn8.0.tar.gz
 
version="7.x.x.x"
os="<os>"
arch=$(uname -m)
cuda="cuda-x.x"
cudnn="cudnn8.x"
tar xzvf TensorRT-$version.$os.$arch-gnu.$cuda.$cudnn.tar.gz
 

3. 编译安装

3.1 Tensorrt 编译

进入Tensor解压目录,依次pip安装即可。

注意: ros python版本为python2.7 需要安装 py2 & py3,否则无法使用ROS python


cd TensorRT-$version/python
pip install tensorrt-*-cp3x-none-linux_x86_64.whl
cd TensorRT-$version/uff
pip install uff-0.6.9-py2.py3-none-any.whl
cd TensorRT-$version/graphsurgeon
pip install graphsurgeon-0.4.5-py2.py3-none-any.whl
cd TensorRT-$version/onnx_graphsurgeon
pip install onnx_graphsurgeon-0.2.6-py2.py3-none-any.whl
 
pip install 'pycuda>=2019.1.1'
 

接着进入tensorRT下的uff文件夹安装whl(tensorflow会用到)

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

至此,Ubuntu与TensorRT安装成功!

3.2 Pytorch安装

 Pytorch&torchversion采坑系列
    Torch的目标在保证使用的方式非常简单的基础上最大化地保证算法的灵活性和速度。Torch的核心是流行的神经网络和简单易用的优化库,使用Torch能在实现复杂的神经网络拓扑结构的时候保持最大的灵活性,同时可以使用并行的方式对CPU和GPU进行更有效率的操作。在LuaJIT/C/CUDA等基础之上,Torch的主要特性如下:

  • 强大的N维数组操作的支持
  • 提供很多对于索引/切片等的常用操作
  • 常见线性代数计算的支持
  • 神经网络和基于能量的模型
  • 支持GPU计算

  我们说的pytorch在当前来说就是torch,如果你直接安装pytorch是安装不了的,根据我采坑情况来说,你需要去pytorch官网安装,禁止cmd 内pip 安装。
 

 Pytorch官网:PyTorch

Start Locally | PyTorch

安装版本需要与CUDA、CUDNN对应,选择LTS低版本1.8.2 PIP安装、Python版本、CUDA11.1(CUDNN8.0.X)

pip3 install torch==1.8.2 torchvision==0.9.2 torchaudio==0.8.2 --extra-index-url https://download.pytorch.org/whl/lts/1.8/cu111

4. 环境设置


 
# 安装环境变量
gedit ~/.bashrc
加入如下环境
# cuda
export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
 
# cudnn init
export CUDNN_HOME=/usr/local/cuda
# export LD_LIBRARY_PATH=$CUDNN_HOME/lib64:$LD_LIBRARY_PATH
export CPLUS_INCLUDE_PATH=$CUDNN_HOME/include:$CPLUS_INCLUDE_PATH
 
# tensorrt
export TENSORRT_HOME=/home/leo/TensorRT-7.2.2.3
export PATH=$TENSORRT_HOME/bin:$PATH
export LD_LIBRARY_PATH=$TENSORRT_HOME/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=$TENSORRT_HOME/targets/x86_64-linux-gnu/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$TENSORRT_HOME/lib
export CPLUS_INCLUDE_PATH=$TENSORRT_HOME/include:$CPLUS_INCLUDE_PATH
export CPLUS_INCLUDE_PATH=$TENSORRT_HOME/targets/x86_64-linux-gnu/include:$CPLUS_INCLUDE_PATH
 
激活环境
source ~/.bashrc

5. 卸载

# 非第一次安装的注意使用
 
dpkg -l|grep cuda
 
dpkg -l|grep nvidia
 
dpkg -l|grep tensorrt检查残留
 
同时检查/usr/loacal/目录下是否有cuda开头的残留
 
# 卸载cuda
sudo apt-get --purge remove "*cublas*" "*cufft*" "*curand*" \\
 "*cusolver*" "*cusparse*" "*npp*" "*nvjpeg*" "cuda*" "nsight*" 
 
# 卸载驱动
sudo apt-get --purge remove "*nvidia*"
 
# 卸载依赖
sudo apt-get autoremove
 
# 查看/usr/local下是否还有cuda开头的文件夹,还有的话
cd /usr/local/cuda/bin
sudo ./cuda-uninstaller
全选,done
 
使用这样的命令删除/usr/local下的残留文件夹
sudo rm -r cuda*
 
# 清理环境变量
gedit ~/.bashrc
清理如下环境
# cuda
export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
 
# cudnn init
export CUDNN_HOME=/usr/local/cuda
# export LD_LIBRARY_PATH=$CUDNN_HOME/lib64:$LD_LIBRARY_PATH
export CPLUS_INCLUDE_PATH=$CUDNN_HOME/include:$CPLUS_INCLUDE_PATH
 
# tensorrt
export TENSORRT_HOME=/home/leo/TensorRT-7.2.2.3
export PATH=$TENSORRT_HOME/bin:$PATH
export LD_LIBRARY_PATH=$TENSORRT_HOME/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=$TENSORRT_HOME/targets/x86_64-linux-gnu/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$TENSORRT_HOME/lib
export CPLUS_INCLUDE_PATH=$TENSORRT_HOME/include:$CPLUS_INCLUDE_PATH
export CPLUS_INCLUDE_PATH=$TENSORRT_HOME/targets/x86_64-linux-gnu/include:$CPLUS_INCLUDE_PATH
 
 
source ~/.bashrc
 
# 激活环境变量
 
记得卸载tensorrt中安装的pip包和pycuda
 
# 重新安装前记得重启
sudo reboot

6. 安装TRT Pose

https://github.com/NVIDIA-AI-IOT/trt_posehttps://github.com/NVIDIA-AI-IOT/trt_pose

git clone https://github.com/NVIDIA-AI-IOT/torch2trt
cd torch2trt
python setup.py install
# 加上pulgin会失败
 
pip install tqdm cython pycocotools
sudo apt-get install python3-matplotlib
 
git clone https://github.com/NVIDIA-AI-IOT/trt_pose
cd trt_pose
python setup.py install
 

7. 安装Realsense -ROS

ubuntu18.04+安装ros-melodic+安装realsense-ros包_Clover Fu的博客-CSDN博客自己在安装的时候参考了很多博客,但许多的方法很杂乱最后还失败了,这里综合下自己尝试成功且比较方便的方法,参考链接会在下文列出。安装ros-melodic参考:https://www.guyuehome.com/10082注:不同版本的ubuntu对应不同的ros版本,ubuntu18.04对应ros-melodic1、添加ROS软件源(TX2使用自带源即可,该步可省去)sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu https://blog.csdn.net/CloverFu/article/details/120056130

ubuntu18.04/20.04cv环境配置(中):tensorrt+pytorch安装配置(代码片段)

Ubuntu18.04/20.04CV环境配置(上):CUDA11.1+cudnn安装配置_TechblogofHaoWANG的博客-CSDN博客Ubuntu18.0420.04NVIDIACUDA环境配置与cudnnTensorrt等配置与使用https://blog.csdn.net/hhaowang/article/details/125803582?spm=1001.2014.3001.5501目录TensorRT的... 查看详情

ubuntu18.04/20.04cv环境配置(中):tensorrt+pytorch安装配置(代码片段)

Ubuntu18.04/20.04CV环境配置(上):CUDA11.1+cudnn安装配置_TechblogofHaoWANG的博客-CSDN博客Ubuntu18.0420.04NVIDIACUDA环境配置与cudnnTensorrt等配置与使用https://blog.csdn.net/hhaowang/article/details/125803582?spm=1001.2014.3001.5501目录TensorRT的... 查看详情

ubuntu18.04/20.04cv环境配置(下)--手势识别trtpose+kinectdk人体骨骼识别(代码片段)

https://github.com/Alex1114/TRT-Pose-ROShttps://github.com/Alex1114/TRT-Pose-ROSGitHub-NVIDIA-AI-IOT/trt_pose:Real-timeposeestimationacceleratedwithNVIDIATensorRTReal-timeposeestimationacceleratedwith 查看详情

ubuntu18.04/20.04cv环境配置(下)--手势识别trtpose+kinectdk人体骨骼识别(代码片段)

https://github.com/Alex1114/TRT-Pose-ROShttps://github.com/Alex1114/TRT-Pose-ROSGitHub-NVIDIA-AI-IOT/trt_pose:Real-timeposeestimationacceleratedwithNVIDIATensorRTReal-timeposeestimationacceleratedwith 查看详情

ubuntu18.04/20.04cv环境配置(上):cuda11.1+cudnn安装配置(代码片段)

...驱动的关系2.下载安装2.1 下载CUDA文件DownloadInstallerforLinuxUbuntu20.04x86_642.2下载cudnn文件3.配置测试参考连接:1.版本对应无论采用哪一种方式,首先都需要更新Ubuntu软件源和升级到最新版本的软件包。由于国内从Ubuntu官方软... 查看详情

ubuntu18.04/20.04cv环境配置(上):cuda11.1+cudnn安装配置(代码片段)

...驱动的关系2.下载安装2.1 下载CUDA文件DownloadInstallerforLinuxUbuntu20.04x86_642.2下载cudnn文件3.配置测试参考连接:1.版本对应无论采用哪一种方式,首先都需要更新Ubuntu软件源和升级到最新版本的软件包。由于国内从Ubuntu官方软... 查看详情

ubuntu18.04/20.04cv环境配置(下)--手势识别trtpose+kinectdk人体骨骼识别(代码片段)

https://github.com/Alex1114/TRT-Pose-ROShttps://github.com/Alex1114/TRT-Pose-ROSGitHub-NVIDIA-AI-IOT/trt_pose:Real-timeposeestimationacceleratedwithNVIDIATensorRTReal-timeposeestimationacceleratedwithNVIDIATensorRT-GitHub-NVIDIA-AI-IOT/trt_pose:Real-timeposeestimationacceleratedwithNVIDIATensorRThtt... 查看详情

ubuntu18.04/20.04cv环境配置(下)--手势识别trtpose+kinectdk人体骨骼识别(代码片段)

https://github.com/Alex1114/TRT-Pose-ROShttps://github.com/Alex1114/TRT-Pose-ROSGitHub-NVIDIA-AI-IOT/trt_pose:Real-timeposeestimationacceleratedwithNVIDIATensorRTReal-timeposeestimationacceleratedwithNVIDIATensorRT-GitHub-NVIDIA-AI-IOT/trt_pose:Real-timeposeestimationacceleratedwithNVIDIATensorRThtt... 查看详情

ubuntu/linux系统知识虚拟机安装ubuntu18.04/20.04

文章目录1、下载Ubuntu镜像文件2、ubuntu虚拟机创建3、安装Ubuntu系统1、下载Ubuntu镜像文件打开网址:http://www.ubuntu.com,点击Download,如下图,即可下载。文件大小1.8G。镜像下载过程中,我们可以接着进行下一步。2、ubuntu虚拟机创... 查看详情

ubuntu/linux系统知识虚拟机安装ubuntu18.04/20.04

文章目录1、下载Ubuntu镜像文件2、ubuntu虚拟机创建3、安装Ubuntu系统1、下载Ubuntu镜像文件打开网址:http://www.ubuntu.com,点击Download,如下图,即可下载。文件大小1.8G。镜像下载过程中,我们可以接着进行下一步。2、ubuntu虚拟机创... 查看详情

ubuntu18.04/20.04下安装搜狗输入法

https://pinyin.sogou.com/linux/guide 查看详情

ubuntu18.04/20.04/22.04安装显卡驱动与显卡信息查询(代码片段)

ubuntu18.04/20.04/22.04安装显卡驱动与显卡信息查询安装显卡驱动卸载已有的nvidia显卡驱动(如果已安装的话)不确定之前是否安装过nvidia显卡驱动,最好执行下。sudoaptremove--purgenvidia*添加ppa源sudoadd-apt-repositoryppa:graphics-dr... 查看详情

如何在 ubuntu(或其他 linux 环境)中将 realsense RGB 帧转换为 cv::Mat?

】如何在ubuntu(或其他linux环境)中将realsenseRGB帧转换为cv::Mat?【英文标题】:HowtoconvertrealsenseRGBframetocv::Matinubuntu(orotherlinuxenv)?【发布时间】:2016-05-1703:01:28【问题描述】:没有官方的SDK可以这样做,有人可以帮忙吗?如何在ub... 查看详情

计算机视觉(cv)基于高层api实现宝石分类(代码片段)

...的一个细分类问题实践平台:百度AI实训平台-AIStudio实践环境:Python3.7,PaddlePaddle2.0(二)、环境配置本实践代码运行的环境配置如下:Python版本为3.7,PaddlePaddle版 查看详情

qtcreator如何在ubuntu中配置环境变量path

是在虚拟机中参考技术A其实不用配置环境变量的,进入到你的编译的目录。然后运行qmake,当然这个qmake是包含qmake所在路径的。我的就是这样的/opt/qt5.11.1/5.11.1/gcc_64/bin/qmakemake你也可以将这两句话写成shell脚本,很方便 查看详情

[cv之旅]环境搭建vs2015+opencv3.2

...觉库,提供了C++,Python的接口,我们今天提供C++下的OpenCV环境搭建。一、下载并安装1.下载并解压OpenCV官网:http://opencv.org/,下载源有GitHub和SourceForge。下载完毕后将其解压至C盘根目录。2.环境变量配置编辑系统变量中Path,把Open... 查看详情

vmwareworkstation10能配置ubuntu18

...抽出去的这个应该是比较简单的 参考技术BVM中如何配置Ubuntu环境1双击--创建新的虚拟机VMwareWorkstation10配置Ubuntu环境21.自定义(高级)2.双击--下一步VMwareWorkstation10配置Ubuntu环境3兼容性保持默认双击--下一步VMwareWorkstation10配置Ubuntu... 查看详情

#ubuntu#root如何直接通过root用户登录进入桌面(代码片段)

...和gdm-password 5、修改/usr/share/lightdm/lightdm.conf.d目录下的50-ubuntu.conf文件 6、重启系统,测试root登录二、配置免密免身份认证开机自动登录(选做)1、通过命令行配置2、通过GUI桌面配置前言在上篇文章中,我们已... 查看详情