资讯专栏INFORMATION COLUMN

GPU服务器上的tensorrt环境搭建

tanglijun / 1285人阅读

摘要:服务器上的环境搭建文章目录服务器上的环境搭建拉取服务器上的支持的镜像文件设置环境变量并下载相关依赖安装和和安装编译安装安装安装添加系统环境变量在生产实际中,我们通常通过在服务器上镜像环境搭建用于加速深度学习图像识别推理的的环境。

GPU服务器上的tensorrt环境搭建


在生产实际中,我们通常通过在GPU服务器上docker镜像环境搭建用于加速深度学习图像识别推理的tensorrt的环境。

1.拉取docker服务器上的支持cuda、cudnn的镜像文件

Docker Hub上拉取适合服务器的镜像

docker pull nvidia/cuda:10.2-cudnn7-devel-ubuntu18.04

运行拉取的镜像并将GPU挂载到该容器上:

docker run --name tensorrt --gpus all -v $PWD:/home -it nvidia/cuda:10.2-cudnn7-devel-ubuntu18.04 /bin/bash

2.设置环境变量并下载相关依赖

设置python3为默认python执行器:

update-alternatives --install /usr/bin/python python /usr/bin/python2 100update-alternatives --install /usr/bin/python python /usr/bin/python3 150update-alternatives --config python

更新环境源变量:

apt-get updateapt-get upgrade

安装相关依赖:

apt-get install software-properties-commonapt-get upgradeapt-get install -y python3-pipapt-get install -y vimapt-get install -y wgetapt-get install unzippip install pyyaml
apt-get install -y build-essential cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-devapt-get install -y libgstreamer1.0-dev libgstreamer-plugins-base1.0-devapt-get install -y python2.7-dev python3.6-dev python-dev python-numpy python3-numpyapt-get install -y libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libdc1394-22-devapt-get install -y libv4l-dev v4l-utils qv4l2 v4l2ucpapt-get install -y curlapt-get install -y libgtk-3-dev

2.1安装cuda和cudnn

查看自己显卡可支持的版本:

nvidia-smi


Nvidia官网下载像对应的cuda版本,可以下载低于自己系统支持的版本,下载之前可以看看pytorch官网中历史版本中对应的cuda和cudnn所需要的版本,以免后续安装pytorch时出现版本不符合的情况。在cuda下载选项中选择自己系统合适的版本,建议选择cuda的runfile[local]安装包。

安装cuda,将下载好的cuda文件复制到镜像挂载目录下,执行sh命令进行安装。

sh cuda_*.run

安装过程中输入 accept 接受条款,再通过上下键进行选择安装。
安装cudnn,该步骤需要注册Nvidia账号,再在cudnn下载地址中选择所安装的cuda所对应的cudnn,我安装的为cuda10.2,建议选择对应的cudnn8.0.4
注:在配置tensorrt7.*版本时,建议配置为cuda10.2和cudnn8.0.4,配置8.0.2会出现一下的警告,虽然可以依旧能够完成推理,但建议安装配套的版本。

[TensorRT] WARNING: TensorRT was linked against cuDNN 8.0.4 but loaded cuDNN 8.0.2

cudnn建议下载对应版本的Runtime 、Developer 、Code Samples 这三个文件,下载完成后复制到容器挂载的目录下,在分别执行以下指令:

dpkg -i libcudnn8_8.0.4.*+cuda10.2_amd64.debdpkg -i libcudnn8-dev_8.0.4.*+cuda10.2_amd64.debdpkg -i libcudnn8-doc_8.0.4.*+cuda10.2_amd64.deb

2.2 pytorch和torchvision安装

相关版本可以在pytorch历史稳定版本查找自己安装对应的python、cuda和cudnn、系统为linux的版本,我安装的是(cu102/torch-1.7.1-cp36-cp36m-linux_x86_64.whl和cu102/torchvision-0.8.2-cp36-cp36m-linux_x86_64.whl),将下载好的文件复制到容器挂载的目录下,通过pip install …命令执行安装如:

pip install torch-1.7.1-cp36-cp36m-linux_x86_64.whlpip install torchvision-0.8.2-cp36-cp36m-linux_x86_64.whl

2.3 编译安装opencv4.4

百度云链接
提取码:cb0s
执行下面命令,完成编译前准备工作:

# 解压相关文件tar -zxvf opencv_contrib-4.4.0.tar.gztar -zxvf opencv-4.4.0.ziptar -zxvf xfeatures2d.zip# 将xfeatures2d中的文件复制到opencv_contrib/modules/Xfeatures2d/src文件夹下cp -r xfeatures2d/* opencv_contrib/modules/Xfeatures2d/src# 进入opencv-4.4.0文件夹内,并创建build文件夹,并进入build文件夹内cd opencv-4.4.0 && mkdir buildcd build# 将 opencv-4.4.0文件夹内的modules/features2d/拷贝到build目录下cp -r ../modules/features2d/ .

开始安装编译:

cmake -D WITH_CUDA=ON -D CUDA_ARCH_BIN="5.3" / -D CUDA_ARCH_PTX=""  / -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules / -D WITH_GSTREAMER=ON / -D WITH_LIBV4L=ON / -D BUILD_opencv_python2=ON -D BUILD_opencv_python3=ON / -D BUILD_TESTS=OFF / -D BUILD_PERF_TESTS=OFF / -D BUILD_EXAMPLES=OFF / -D CMAKE_BUILD_TYPE=RELEASE /  -D CMAKE_INSTALL_PREFIX=/usr/local ..make -j3make instal

注:cmake最后一行中的CMAKE_INSTALL_PREFIX=为opencv编译安装的保存位置

2.4 安装pycuda

安装依赖:

apt-get install python-dev python-pip libxml2-dev libxslt1-dev zlib1g-dev libffi-dev libssl-dev

安装pycuda

pip3 install pyzmq==17.0.0pip3 install pycuda

2.5 tensorrt安装

Nvidia官网选择下载的安装包,我下载的是 —> TensorRT-7.2.1.6.Ubuntu-18.04.x86_64-gnu.cuda-10.2.cudnn8.0.tar.gz,首先解压安装包,然后再选择合适的python版本进行安装:

tar -zxvf TensorRT-7.2.1.6.Ubuntu-18.04.x86_64-gnu.cuda-10.2.cudnn8.0.tar.gzcd TensorRT-7.2.1.6/pythonpip install tensorrt-7.2.1.6-cp36-none-linux_x86_64.whl

为避免在编译过程中找不相关库文件,建议将Tensorrt部分文件拷贝到系统路径下:

# TensorRT-7.2.1.6路径下cp -r lib/* /usr/libcp -r include/* /usr/include

2.6 添加系统环境变量

将tensorrt 、 cuda 、 opencv4 的安装路径加入环境变量

vim ~/.bashrc#添加以下在.bashrc文件的末尾export PATH=/home/TensorRT-7.2.1.6/include:$PATHexport LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/TensorRT-7.2.1.6/libexport CUDA_HOME=/usr/local/cuda-10.2export PATH=$PATH:$CUDA_HOME/binexport CUDA_INSTALL_DIR=/usr/local/cuda-10.2export CUDNN_INSTALL_DIR=/usr/local/cuda-10.2export LD_LIBRARY_PATH=/usr/local/cuda-10.2/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}export PATH=/usr/local/cuda-10.2/bin:$PATHexport LD_LIBRARY_PATH=/usr/local/cuda-10.2/lib64:$LD_LIBRARY_PATHexport PATH=/usr/local/include/opencv4:$PATH

最后在source以下.bashrc

source ~/.bashrc

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/119530.html

相关文章

  • 使用TensorRT集成加速TensorFlow推理

    摘要:摘要本文讲述了集成如何加速推理,以及实例演示帮助入门宣布完成了推理优化工具与将集成在一起工作。使用新函数将优化应用于冻结图。动态范围的减少使得神经网络的表示权重和激活变得更加有挑战性。我们建议在首次使用校准模板是检查推理期间的错误积累。 摘要: 本文讲述了TensorRT集成如何加速TensorFlow推理,以及实例演示帮助入门 NVIDIA宣布完成了推理优化工具TensorRT与Te...

    h9911 评论0 收藏0
  • 使用TensorRT集成加速TensorFlow推理

    摘要:摘要本文讲述了集成如何加速推理,以及实例演示帮助入门宣布完成了推理优化工具与将集成在一起工作。使用新函数将优化应用于冻结图。动态范围的减少使得神经网络的表示权重和激活变得更加有挑战性。我们建议在首次使用校准模板是检查推理期间的错误积累。 摘要: 本文讲述了TensorRT集成如何加速TensorFlow推理,以及实例演示帮助入门 NVIDIA宣布完成了推理优化工具TensorRT与Te...

    anquan 评论0 收藏0
  • 人脸相关应用的优化手段

    摘要:最近优化的是一个人脸伪造检测的项目,一些人脸检测的技术其实也都用得到,想总结一下有过的一些思路。这里主要指的是项目所用到的神经网络模型比如人脸检测常用的优化方向主要是优化了这么一些东西。         最近优化的是一个人脸伪造检测的项目,一些人脸检测的技术其实也都用得到,想总结一下有过的一...

    Godtoy 评论0 收藏0
  • TensorRT安装及使用--通用模型

    摘要:的安装官网下载安装包首先,我们可以到官网的专区进行安装包的下载,网址是,因为我使用的版本是,版本是,版本是,我选择了这一版。但我们会发现和这两个文件夹是不存在的,我们可以去这个网址进行下载,然后使用命令解压在对应的文件夹中。         TensorRT是Nvidia为了加速基于自家GP...

    fancyLuo 评论0 收藏0
  • 从人工智能鉴黄模型,尝试TensorRT优化

    摘要:没有显卡也没有关系,可以看看我前面发布的两篇文章谷歌云计算平台,免费又好用上安装本文采用的深度学习模型是雅虎开源的深度学习色情图片检测模型,这里的代表,该项目基于框架。你还可以读利用人工智能检测色情图片谷歌云计算平台,免费又好用上安装随着互联网的快速发展,越来越多的图片和视频出现在网络,特别是UCG产品,激发人们上传图片和视频的热情,比如微信每天上传的图片就高达10亿多张。每个人都可以上传,...

    LinkedME2016 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<