Windows Ubuntu下搭建深度学习Pytorch训练框架与转换环境TensorRT

Windows Ubuntu下搭建深度学习Pytorch训练框架与转换环境TensorRT

仅供本人查阅

JetBrains2024(IntelliJ IDEA、PhpStorm、RubyMine、Rider......)安装包

迅雷网盘

提取码:jhar
百度网盘

提取码:6789

Anaconda Miniconda安装

清华大学开源软件镜像站 Miniconda下载
Anaconda 镜像使用帮助

linux安装软件:安装过程中根据提示输入enter或yes

bash 复制代码
bash Miniconda3-py312_24.3.0-0-Linux-x86_64.sh

安装完后,通过conda命令进行使用。

.condarc 文件

Windows 用户无法直接创建名为 .condarc 的文件,可先执行

conda config --set show_channel_urls yes

配置镜像源

通过修改文件添加(推荐)

直接修改.condarc文件是最方便的。

找到系统用户下的 .condarc 的文件,记事本打开并添加镜像源。

bash 复制代码
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/r
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
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
  pytorch-lts: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  deepmodeling: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/

查看conda的配置和源(channel)

bash 复制代码
conda config --show  ∥打印conda的所有配置(包括源)
conda info           ∥/查看conda虚拟环境的信息
conda config --show-sources   ∥查看conda的配置文件位置以及变量的值

# 命令用法,new channel表示具体的源地址:
conda config --add channels new channel         //添加新的源,默认最高优先级
conda config --prepend channels new channel     //添加新的源到顶部,最高优先级
conda config --append channels new_channel      //添加新的源到底部,最低优先级
conda config --add default channels new channe  //添加default channels的源
∥添加清华源的具体命令如下
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/

自定义conda虚拟环境路径

找到系统用户下的 .condarc 的文件,记事本打开并添加路径,换成自己要保存的位置,建议放在非C盘中。

c 复制代码
##windows
envs_dirs:
  - E://Miniconda3//envs 
c 复制代码
##linux
envs_dirs:
  - /home/wlj/.conda/envs/

conda常用命令

bash 复制代码
# 获取版本号
conda -V
# 获取帮助
conda -h
# 环境管理命令帮助
conda env -h
# 列举所有环境
conda info --env
conda env list
# Python创建虚拟环境
conda create -n your_env_name python==x.x
# 复制某个环境 (本地使用)
conda create --name new_env_name --clone old_env_name 
# 彻底删除旧环境,则可以实现重命名环境
conda remove --name old_env_name --all   //注意:必须在base环境下进行以上操作,否则会出现各种莫名的问题。
# 通过.yml文件克隆虚拟环境(利用得到的.yml文件,可以实现在本地/非本地计算机上克隆/复制一个一模一样的虚拟环境)
conda env export > new_name.yml
conda env create --file new_name.yml ∥从new_name.yml文件中导入虚拟环境,.yml文件可以改虚拟环境new name。
# 激活或者切换虚拟环境
Windows: activate your_env_name
Linux:  source activate your_env_nam
# 关闭虚拟环境(即从当前环境退出返回使用PATH环境中的默认python版本)
Windows: deactivate  或者 activate root 切回root环境
Linux:source deactivate 
# 列举包
conda list
conda list -n your_env_name # 列举非当前活跃环境下的所有包
# 安装包
conda install  [package]
conda install -n your_env_name [package] # 安装非当前活跃环境下的包
conda install --channel https://conda.anaconda.org/anaconda tensorflow=1.8.0 # 指定版本和channel
# 升级包
conda update [package]      
conda update conda          # 升级conda
# 查找包
conda search -h # 查看search使用帮助信息
conda search tensorflow  # 查看指定包可安装版本信息命令
bash 复制代码
# 删除虚拟环境
conda remove -n your_env_name --all
conda uninstall -n your_env_name --all
# 删除环境钟的某个包
conda remove --name $your_env_name  $package_name 
# 卸载包
conda uninstall [package]   # 卸载xxx文件包
# 清理包
conda clean -p      //删除没有用的包 # 这个命令会检查哪些包没有在包缓存中被硬依赖到其他地方,并删除它们
conda clean -t      //删除tar包
conda clean -y --all //删除所有的安装包及cache
# 更新
sync
# 查看文件占用存储
du -sh
# 分享环境
activate target_env # 进入要分享的环境
conda env export > environment.yml # 当前工作目录下生成一个environment.yml
conda env create -f environment.yml # 拿到environment.yml文件后,将该文件放在工作目录下,可以通过以下命令从该文件创建环境
# 永久退出conda环境
conda config --set auto_activate_base false

pip源

pip介绍:

• 我们都知道python有很多的第三方库或者说是模块。这些库针对不同的应用,发挥不同的作用。我们在实际的项目中肯定会用到这些模块。那如何将这些模块导入到自己的项目中呢?

• Python官方的PyPi仓库为我们提供了一个统一的代码托管仓库,所有的第三方库,甚至你自己写的开源模块,都可以发布到这里,让全世界的人分享下载 。

• python有两个著名的包管理工具easy_install和pip。在python 2中easy_install是默认安装的,而pip需要我们手动安装。随着Python版本的提高,easy_install已经逐渐被淘汰,但是一些比较老的第三方库,在现在仍然只能通过easy_install进行安装。目前,pip已经成为主流的安装工具,自Python 2 >=2.7.9或者Python 3.4以后默认都安装有pip。

pip命令:

bash 复制代码
# 查看pip版本
pip -V
pip --version
# 配置pip源
pip3 config set global.index-url https://mirror.baidu.com/pypi/simple
# 指定版本安装
pip install 库名==版本号
pip install robotframework==2.8.7
# 卸载已安装的库
pip uninstall 库名
pip uninstall requests
# 列出已安装的库
pip list

pip install 的国内源

清华源https://pypi.tuna.tsinghua.edu.cn/simple/

阿里云:http://mirrors.aliyun.com/pypi/simple/

中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/

华中理工大学:http://pypi.hustunique.com/

山东理工大学:http://pypi.sdutlinux.org/

豆瓣:http://pypi.douban.com/simple/


模型转换环境与模型训练环境

不建议放在一个虚拟环境中 ,深度学习框架版本尽量保持一致


模型训练环境

Ubuntu使用搭建方式一 (采用)

Windows使用搭建方式二 (未采用)

都可搭建训练环境TensorFlow与Pytorch

注意:

  1. 都要优先装好显卡驱动
  2. CUDA Toolkit(GPU要用到的集合)和 cudatoolkit(动态链接库不包含驱动)的区别
  3. cuDNN是深度学习加速库

CUDA Toolkit 和 cuDNN安装教程 (Windows方式二 未采用)

训练环境不需要涉及此步节内容,但需要更新NVIDIA显卡驱动。

Windows需要下载安装CUDA Toolkit 和 cuDNN,并且需要移动 bin include lib 文件和配置环境变量如下图,比较不舒服,而且想要安装到Conda环境里,所以采用方式一Ubuntu安装。

NVIDA显卡驱动程序下载

CUDA Toolkit 和 cuDNN可下载低于系统显卡驱动版本

NVIDA官网下载CUDA
NVIDA官网下载CUDNN

win11+RTX4070Ti 安装 CUDA + cuDNN(图文教程)

查看CUDA版本

CUDA安装教程(超详细)


TensorFlow框架 训练环境安装 (补充 未采用)

安装TensorFlow-GPU2.5.0(方式一ubuntu下)

  1. 创建、进入虚拟环境
bash 复制代码
conda create -n py3.6-tensorflow-gpu-2.5.0 python==3.6
conda env list
conda activate py3.6-tensorflow-gpu-2.5.0
conda list
  1. 安装依赖库cudatoolkit11.2.2和cudnn8.1.0
bash 复制代码
conda install cudatoolkit=11.2.2 -c conda-forge
conda install cudnn=8.1.0 -c conda-forge
  1. 安装TensorFlow-GPU2.5.0
bash 复制代码
pip install tensorflow-gpu=2.5.0-i https://pypi.douban.com/simple/
  1. conda虚拟环境查看TensorFlow-GPU2.5.0是否可用
bash 复制代码
import tensorflow as tf
import sys
print(sys.version)
print(tf.version)
gpu_list=tf.config.list_physical_devices('GPU')
print("\ngpu_list:",gpu_list)
gpu_available=tf.test.is_gpu_available()
print("\nTensorFlow-gpu is available?",gpu_available)
  1. 训练一个模型看看TensorFlow-GPU2.5.0是否可用

Pytorch框架 训练环境安装 (采用)

清华源Index of /anaconda/cloud/pytorch/

Linux and Windows(选取自己适合的环境)

原因:要使用TensorRT 8.5.1.7 | Torch-TensorRT V1.3.0 |

安装早期版本的 PYTORCH

bash 复制代码
v1.13.0 安装命令
Conda
OSX
# conda
conda install pytorch==1.13.0 torchvision==0.14.0 torchaudio==0.13.0 -c pytorch
Linux and Windows
# CUDA 11.6
conda install pytorch==1.13.0 torchvision==0.14.0 torchaudio==0.13.0 pytorch-cuda=11.6 -c pytorch -c nvidia
# CUDA 11.7
conda install pytorch==1.13.0 torchvision==0.14.0 torchaudio==0.13.0 pytorch-cuda=11.7 -c pytorch -c nvidia
# CPU Only
conda install pytorch==1.13.0 torchvision==0.14.0 torchaudio==0.13.0 cpuonly -c pytorch

Wheel
OSX
pip install torch==1.13.0 torchvision==0.14.0 torchaudio==0.13.0

# ROCM 5.4.2 (Linux only)
Linux and Windows
# ROCM 5.2 (Linux only)
pip install torch==1.13.0+rocm5.2 torchvision==0.14.0+rocm5.2 torchaudio==0.13.0 --extra-index-url https://download.pytorch.org/whl/rocm5.2
# CUDA 11.6
pip install torch==1.13.0+cu116 torchvision==0.14.0+cu116 torchaudio==0.13.0 --extra-index-url https://download.pytorch.org/whl/cu116
# CUDA 11.7
pip install torch==1.13.0+cu117 torchvision==0.14.0+cu117 torchaudio==0.13.0 --extra-index-url https://download.pytorch.org/whl/cu117
# CPU only
pip install torch==1.13.0+cpu torchvision==0.14.0+cpu torchaudio==0.13.0 --extra-index-url https://download.pytorch.org/whl/cpu
  1. 创建、进入虚拟环境 (ubuntu)
bash 复制代码
conda create -n py3.9-pytorch-gpu-1.13.0 python==3.9  
conda env list
conda activate py3.9-pytorch-gpu-1.13.0
conda list
  1. 安装PyTorch-GPU1.13.0
    地址:离线安装
bash 复制代码
#在线安装
conda install pytorch==1.13.0 torchvision==0.14.0 torchaudio==0.13.0 pytorch-cuda=11.7 -c pytorch -c nvidia

pip install torch==1.13.0+cu117 torchvision==0.14.0+cu117 torchaudio==0.13.0 --extra-index-url https://download.pytorch.org/whl/cu117

#离线安装 本下载目录进入Conda环境安装  地址:https://download.pytorch.org/whl/torch_stable.html

pip instill torch-1.13.0+cu117-cp39-cp39-linux_x86_64.whl torchvision-0.14.0+cu117-cp39-cp39-linux_x86_64.whl torchaudio-0.13.0+cu117-cp39-cp39-linux_x86_64.whl

-----------------------下载wheel包
cu117/torch-1.13.0%2Bcu117-cp39-cp39-linux_x86_64.whl
cu117/torch-1.13.0%2Bcu117-cp39-cp39-win_amd64.whl

cu117/torchvision-0.14.0%2Bcu117-cp39-cp39-linux_x86_64.whl
cu117/torchvision-0.14.0%2Bcu117-cp39-cp39-win_amd64.whl

cu117/torchaudio-0.13.0%2Bcu117-cp39-cp39-linux_x86_64.whl
cu117/torchaudio-0.13.0%2Bcu117-cp39-cp39-win_amd64.whl
-----------------------
  1. conda虚拟环境中查看cuda和cudnn版本
bash 复制代码
python
import torch
import torchvision
print(torch.__version__)
print(torchvision.__version__)
print(torch.version.cuda)
print(torch.backends.cudnn.version())
print(torch.cuda.is_available())

配置YoloV8环境

YoloV8源码地址
YoloV5源码地址


模型转换环境

1. 安装Tensor RT (Windows方式二 未采用)

前提:要使用TensorRT 8.5.1.7 | Torch-TensorRT V1.3.0 |

TensorRT简介

NVIDIA ® TensorRT™ 的核心是一个 C++ 库,可促进在 NVIDIA 图形处理单元 (GPU)上进行高性能推理。TensorRT采用一个经过训练的网络,该网络由一个网络定义和一组经过训练的参数组成,并生成一个高度优化的运行时引擎,为该网络执行推理。 TensorRT通过 C++ 和 Python 提供 API,帮助通过网络定义 API 表达深度学习模型,或通过 ONNX 解析器加载预定义模型,允许TensorRT 在 NVIDIA GPU 上优化和运行它们。TensorRT应用了图形优化、层融合等优化,同时还利用各种高度优化的内核找到了该模型的最快实现。TensorRT 还提供了一个运行时,您可以使用它从NVIDIA Volta™ 一代开始在所有 NVIDIA GPU 上执行此网络。 TensorRT 还包括可选的高速混合精度功能,包括NVIDIA Volta、NVIDIA Turing™、NVIDIA Ampere 架构、NVIDIA Ada Lovelace 架构和NVIDIA Hopper™ 架构。TensorRT支持几乎所有主流深度学习框架,将python框架转换成C++的TensorRT,从而可以加速推理。


安装tensorRT之前确保电脑安装好了英伟达显卡驱动、cudaToolkit,但cuDNN的话不是必须得可以不用安装(官方多次提到目前的TensorRT对cuDNN的依赖很少了。

NVIDIA TensorRT 8.x 下载(Windows 未采用)

NVIDIA TensorRT 8.x 下载

EA 版本代表抢先体验(在正式发布之前)。

GA 代表通用性。 表示稳定版,经过全面测试。

亲亲,这边建议你用TensorRT最新版本的 GA release 呢

适用于x86_64架构的 TensorRT 8.5 GA

选择适用于 Windows 的 Zip 包

NVIDIA官方安装教程

图片来自@城南皮卡丘

解压 Zip

下载TensorRT-8.6.1.6.Windows10.x86_64.cuda-11.8.zip文件之后,解压,我这里解压到 E:\Miniconda3\envs\TensorRT-8.6.1.6,解压后的文件目录如下图所示:

有两种方式可选安装

第一种方式:把 E:\Miniconda3\envs\TensorRT-8.6.1.6\lib文件中所有的DLL文件复制到CUDA的安装目录下bin目录下(比如:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\vX.Y\bin)(成功)

第二种方式:直接配置TensorRT的环境变量。具体做法是把E:\Miniconda3\envs\TensorRT-8.6.1.6\lib 目录添加到系统环境变量中(未成功,可能需要安装CUDA Toolkit 和 cuDNN)下图为方式二。

切换到Conda虚拟环境中安装TensorRT
  1. 命令行切换目录

    下面为该虚拟环境安装TensorRT,首先命令行切换到 E:\Miniconda3\envs\TensorRT-8.6.1.6\python 目录下并切换到conda虚拟环境中。

  2. pip安装 pip install

Tensorrt Python wheel 文件目前仅支持 Python 版本 3.8 到 3.12,不适用于其他 Python版本。目前仅支持 Linux 操作系统和 x86_64 CPU 架构。这些Python wheel文件应该可以在RHEL 8或更新版本和Ubuntu 20.04或更高版本上工作。

  1. 选择跟虚拟环境匹配的python版本,这里选择 full installation 的安装模式 ,然后执行pip安装命令。


  1. 之后我们还需要安装 uff, graphsurgeon, onnx_graphsurgeon 这三个python包,它们就在解压目录下,切换到对应的目录,pip安装。


三个工具大致用途:

UFF: UFF(Universal Framework

Format)是NVIDIA推出的一种用于将深度学习模型转换为TensorRT可读取格式的工具。通过将模型转换为UFF格式,可以更高效地在NVIDIA的GPU上进行推理加速。

GraphSurgeon:

GraphSurgeon是一个用于操作神经网络模型图的工具,通常与深度学习框架结合使用。它可以帮助您执行各种图操作,例如插入、删除或替换节点,修改模型结构,以及进行其他定制化的操作。

ONNX GraphSurgeon: ONNX

GraphSurgeon是一个用于在ONNX图中进行操作的工具,可以用于修改、优化和转换ONNX模型。您可以使用ONNX。

GraphSurgeon来执行各种操作,例如插入、删除或替换节点,修改模型结构,以及执行其他图操作以满足您的需求。

  1. 测试
    至此,在conda环境下安装tensorRT就全部完成了,接下来验证一下是否安装成功。
bash 复制代码
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import tensorrt as trt
if __name__ == "__main__":
    print(trt.__version__)
    print("hello trt!!")

进入该虚拟环境中导入 tensorrt 包,如果控制台没有报错,即为安装成功,接下来就可以在conda虚拟环境下使用 tensorrt。

DLL下载https://www.dllme.com/

tensorflow-gpu缺少的cublas64-11.dll等.dll文件全在这了

Could not load dynamic library cublas64_10.dll


2. 安装Tensor RT (Ubuntu本地 未采用)

前提:要使用TensorRT 8.5.1.7 | Torch-TensorRT V1.3.0 |

NVIDIA TensorRT 8.x 下载(Liunx)

NVIDIA TensorRT 8.x 下载

EA 版本代表抢先体验(在正式发布之前)。

GA 代表通用性。 表示稳定版,经过全面测试。

亲亲,这边建议你用TensorRT最新版本的 GA release 呢

选择适用于 Debian 的 TAR 包

NVIDIA官方安装教程

解压 TAR

GitHub TensorRT8.5.1 源码编译安装教程

写入环境变量文件并保存

bash 复制代码
sudo gedit ~/.bashrc
#将 TensorRT lib 目录的绝对路径添加到环境变量中 LD_LIBRARY_PATH :
#export LD_LIBRARY_PATH=<TensorRT-${version}/lib>:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/home/wlj/TensorRT-8.5.1.7/lib:$LD_LIBRARY_PATH
source ~/.bashrc
bash 复制代码
export PATH=/home/lenovo/.local/bin:$PATH 
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-11.8/lib64
export CUDA_HOME=/usr/local/cuda-11.8
export PATH=$PATH:/usr/local/cuda-11.8/bin

export LD_LIBRARY_PATH=/home/wlj/TensorRT-8.5.1.7/lib:$LD_LIBRARY_PATH

export LD_LIBRARY_PATH=/home/lenovo/torch_tensorrt-2.2.0+cu118-cp38-cp38-linux_x86_64/torch_tensorrt/lib:$LD_LIBRARY_PATH

export LIBTORCH_DIR=/usr/local/lib/libtorch
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$LIBTORCH_DIR/lib:$TORCHTRT_DIR/lib
export CPLUS_INCLUDE_PATH=$CPLUS_INCLUDE_PATH:$LIBTORCH_DIR/include:$TORCHTRT_DIR/include
export CMAKE_PREFIX_PATH=$LIBTORCH_DIR:$TORCHTRT_DIR

3. 安装Tensor RT (Ubuntu Conda环境 采用)

前提:要使用TensorRT 8.5.1.7 | Torch-TensorRT V1.3.0

TensorRT 依赖CUDA和cuDNN,且根据下载的TensorRT版本,需要严格保证CUDA和cuDNN的版本一致性,否则在运行的时候会出现各种链接库的错误。

TensorRT 8.5.1.7

需版本对应CUDA Toolkit 11.8.0。

需版本对应cuDNN v8.5.0 (August 8th,2022),for CUDA 11.x。
CUDA Toolkit和cuDNN版本对应关系

NVIDIA显卡驱动、CUDA Toolkit 和 cuDNN (Ubuntu 需要本地安装)

NVIDA显卡驱动程序下载
NVIDA官网下载CUDA
NVIDA官网下载CUDNN

显卡驱动卸载

首先我们要卸载旧的驱动,清理干净的标志是,输入以下代码

bash 复制代码
sudo dpkg --list | grep nvidia-*

没有任何输出

一般来说我们可以用这些命令来卸载

bash 复制代码
sudo /usr/bin/nvidia-uninstall
sudo apt-get --purge remove nvidia-\*  # 有的不需要加-\
sudo apt-get purge nvidia-\*   # 有的不需要加-\
sudo apt-get purge libnvidia-\*  # 有的不需要加-\

如果还有输出的话,就直接用

bash 复制代码
sudo apt-get --purge remove

把输出的那些东西删掉就行了。

禁用集显

一般来说,ubuntu在安装的时候会安装集显的驱动,但有可能会与独显的驱动冲突,因此我们把集显驱动禁用了。

打开配置文件

bash 复制代码
sudo gedit /etc/modprobe.d/blacklist.conf

在最后一行增加,并重启电脑。

bash 复制代码
blacklist nouveau
options nouveau modeset=0 #禁用nouveau第三方驱动

如果输入

bash 复制代码
lsmod | grep nouveau

没有输出的话,证明禁用成功。

安装CUDA

对于搞深度学习的同学来说,CUDA是必要的,因此在这里我一并说明安装方式。 首先我要说明的是,smi中的cuda版本是cuda的driver api版本,而我们安装的cuda一般是指cudatoolkit的版本,大家有时在安装pytorch的时候会发现,安装命令里面依旧有安装cudatoolkit的内容了,因此不装cuda运行gpu版本的pytorch也是可以的,但c++显卡编程以及tensorflow一般是依赖本机的cudatoolkit,因此这一步还是必要的。首先,cudatoolkit的版本不能高于cuda的driver api版本即smi中的cuda版本,而且一般新版本会向下兼容,所以我建议读者尽量安装旧一点的版本,我的smi中cuda是12.0,综合考虑我打算安装11.3.0,下载地址在这里cuda地址。

NVIDA官网下载CUDA

bash 复制代码
#下载CUDA Toolkit
wget wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda_11.8.0_520.61.05_linux.run
sudo sh cuda_11.8.0_520.61.05_linux.run


在.bashrc文件中加入

以后卸载可以 run cuda-uninstaller in /usr/local/cuda-11.8/bin

bash 复制代码
sudo gedit ~/.bashrc
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64
export PATH=$PATH:/usr/local/cuda/bin
export CUDA_HOME=/usr/local/cuda
source ~/.bashrc

验证安装成功

bash 复制代码
cd /usr/local/cuda/extras/demo_suite
sudo ./deviceQuery
bash 复制代码
#下载cuDNN
无指令,如下图下图选择版本格式。

NVIDA官网下载CUDNN

  1. 把这个压缩文件解压,需要注意的是J是大写:
bash 复制代码
tar xvJf cudnn-linux-x86_64-8.5.0.96_cuda11-archive.tar.xz
  1. 把inculde和lib(注意不是lib64)里的文件复制到cuda中:
bash 复制代码
sudo cp include/cudnn.h /usr/local/cuda/include
sudo cp lib/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*

验证安装成功

执行命令

bash 复制代码
sudo cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2

本节包含从 Python 软件包索引安装 TensorRT 的说明。

Python 软件包索引安装

从 Python 软件包索引安装 TensorRT 时,不需要从 .tar、.deb 或 .rpm 软件包中安装TensorRT。所有需要的库都包含在 Python 包中。不过,如果要访问 TensorRT C++ API 或编译用 C++编写的插件,可能需要头文件,但头文件并未包含在内。此外,如果您已经安装了 TensorRT C++ 库,使用 Python软件包索引版本将安装该库的多余副本,这可能并不可取。有关如何手动安装不捆绑 C++ 库的 TensorRT wheel 的信息,请参阅 Tar 文件安装。如果只需要 Python 支持,可以在本节之后停止。 tensorrt Python 轮文件目前仅支持 Python 3.8 至 3.12 版本,不能用于其他 Python 版本。只有 Linux 注意:如果您没有 root 访问权限,或在 Python 虚拟环境外运行,或出于任何其他原因,您更喜欢user安装,那么请在提供的任何 pip 命令中附加 --user 命令。

  1. 创建、进入虚拟环境 (方式一ubuntu下)
bash 复制代码
conda create -n py3.9-tensorrt-8.5.1.7 python==3.9  
conda env list
conda activate py3.9-tensorrt-8.5.1.7
conda list
  1. 通过 pip wheel 安装 TensorRT,继续之前,请确保 pip Python 模块是最新的,并且已安装 wheel Python 模块,否则在安装 TensorRT ,Python 时可能会遇到问题。
bash 复制代码
#在Conda环境里
python3 -m pip install --upgrade pip
python3 -m pip install wheel
  1. 安装 TensorRT Python wheel。
bash 复制代码
# python3 -m pip install --pre --upgrade tensorrt==***

根据想用的TensorRT Module Torch-TensorRT 选择 TensorRT V8.5.1.7 (需要配置pip源)

bash 复制代码
pip3 config set global.index-url https://mirror.baidu.com/pypi/simple
python3 -m pip install tensorrt==8.5.1.7

使刚刚修改的环境变量文件生效

bash 复制代码
sudo gedit ~/.bashrc
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/lenovo/miniconda3/my_envs/py3.9-tensorrt-8.5.1.7/lib/python3.9/site-packages/tensorrt
source ~/.bashrc
  1. 测试
python 复制代码
python3
import tensorrt
print(tensorrt.__version__)
assert tensorrt.Builder(tensorrt.Logger())

(可选)安装 TensorRT lean 或 dispatch runtime wheels,它们同样拆分为多个 Python 模块。如果仅使用 TensorRT 运行预构建版本兼容的引擎,可以在不安装常规TensorRT wheels的情况下安装这些wheels 。

python 复制代码
python3 -m pip install --pre --upgrade tensorrt_lean
python3 -m pip install --pre --upgrade tensorrt_dispatch

要验证安装是否正常,请使用以下 Python 命令:

导入 tensorrt Python 模块。

确认已安装正确版本的 TensorRT。

创建 Builder 对象,验证 CUDA 安装是否正常。

python 复制代码
python3
import tensorrt_lean as trt
print(trt.__version__)
assert trt.Runtime(trt.Logger())

python3
import tensorrt_dispatch as trt
print(trt.__version__)
assert trt.Runtime(trt.Logger())

Torch-TensorRT安装 (Ubuntu Conda环境 采用)

原因:要使用Torch-TensorRT(要求 V1.3.0)
Torch-TensorRT V1.3.0

Torch-TensorRT 是 PyTorch/TorchScript/FX 的编译器,通过 NVIDIA 的 TensorRT 深度学习优化器和运行时面向 NVIDIA GPU。与 PyTorch 的即时 (JIT) 编译器不同,Torch-TensorRT 是一个提前 (AOT) 编译器,这意味着在部署 TorchScript 代码之前,需要完成一个显式编译步骤,将标准 TorchScript 或 FX 程序转换为面向 TensorRT 引擎的模块。Torch-TensorRT 作为 PyTorch 扩展运行,并编译无缝集成到 JIT 运行时中的模块。编译后,使用优化的图形应该与运行 TorchScript 模块没有什么不同。还可以在编译时访问 TensorRT 的配置套件,因此可以为模块指定操作精度 (FP32/FP16/INT8) 和其他设置。

Dependencies

These are the following dependencies used to verify the testcases. Check out py/requirements.txt for python dependencies. Torch-TensorRT can work with other versions, but the tests are not guaranteed to pass.

以下是用于验证测试用例的依赖项。有关python依赖项,请查看py/requidents.txt。Torch Tensor RT可以与其他版本配合使用,但不能保证测试通过。

Bazel 5.2.0

Libtorch 1.13.0 (built with CUDA 11.7)

CUDA 11.7

cuDNN 8.4.1

TensorRT 8.5.1.7


相关推荐
love530love6 小时前
Windows避坑部署CosyVoice多语言大语言模型
人工智能·windows·python·语言模型·自然语言处理·pycharm
路人与大师7 小时前
从lightrag的prompt到基于openai Structured Outputs 的优化实现思路
windows·microsoft·prompt
蟑螂恶霸7 小时前
解决ubuntu20中tracker占用过多cpu,引起的风扇狂转
linux·运维·ubuntu
四口鲸鱼爱吃盐7 小时前
BMVC2023 | 多样化高层特征以提升对抗迁移性
人工智能·深度学习·cnn·vit·对抗攻击·迁移攻击
shandianchengzi7 小时前
【记录】Windows|竖屏怎么调整分辨率使横竖双屏互动鼠标丝滑
windows·计算机外设·显示器·鼠标·分辨率·双屏
Douglassssssss8 小时前
【深度学习】使用块的网络(VGG)
网络·人工智能·深度学习
終不似少年遊*8 小时前
【从基础到模型网络】深度学习-语义分割-ROI
人工智能·深度学习·卷积神经网络·语义分割·fcn·roi
Cchaofan8 小时前
lesson01-PyTorch初见(理论+代码实战)
人工智能·pytorch·python
摆烂仙君9 小时前
南京邮电大学金工实习答案
人工智能·深度学习·aigc
选与握9 小时前
ubuntu工控机固定设备usb串口号
linux·运维·ubuntu