Windows Ubuntu下搭建深度学习Pytorch训练框架与转换环境TensorRT
- [JetBrains2024(IntelliJ IDEA、PhpStorm、RubyMine、Rider......)安装包](#JetBrains2024(IntelliJ IDEA、PhpStorm、RubyMine、Rider……)安装包)
- [Anaconda Miniconda安装](#Anaconda Miniconda安装)
-
- [.condarc 文件](#.condarc 文件)
- 配置镜像源
- 查看conda的配置和源(channel)
- 自定义conda虚拟环境路径
- conda常用命令
- pip源
- 模型转换环境与模型训练环境
- 模型训练环境
-
- Ubuntu使用搭建方式一 (采用)
- Windows使用搭建方式二 (未采用)
- [CUDA Toolkit 和 cuDNN安装教程 (Windows方式二 未采用)](#CUDA Toolkit 和 cuDNN安装教程 (Windows方式二 未采用))
- [TensorFlow框架 训练环境安装 (补充 未采用)](#TensorFlow框架 训练环境安装 (补充 未采用))
- [Pytorch框架 训练环境安装 (采用)](#Pytorch框架 训练环境安装 (采用))
- 配置YoloV8环境
- 模型转换环境
-
- [1. 安装Tensor RT (Windows方式二 未采用)](#1. 安装Tensor RT (Windows方式二 未采用))
-
- TensorRT简介
- [NVIDIA TensorRT 8.x 下载(Windows 未采用)](#NVIDIA TensorRT 8.x 下载(Windows 未采用))
- [解压 Zip](#解压 Zip)
- 有两种方式可选安装
- [2. 安装Tensor RT (Ubuntu本地 未采用)](#2. 安装Tensor RT (Ubuntu本地 未采用))
-
- [NVIDIA TensorRT 8.x 下载(Liunx)](#NVIDIA TensorRT 8.x 下载(Liunx))
- [解压 TAR](#解压 TAR)
- 写入环境变量文件并保存
- [3. 安装Tensor RT (Ubuntu Conda环境 采用)](#3. 安装Tensor RT (Ubuntu Conda环境 采用))
-
- [NVIDIA显卡驱动、CUDA Toolkit 和 cuDNN (Ubuntu 需要本地安装)](#NVIDIA显卡驱动、CUDA Toolkit 和 cuDNN (Ubuntu 需要本地安装))
- [本节包含从 Python 软件包索引安装 TensorRT 的说明。](#本节包含从 Python 软件包索引安装 TensorRT 的说明。)
- 使刚刚修改的环境变量文件生效
- Torch-TensorRT安装 (Ubuntu Conda环境 采用)
仅供本人查阅
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/
模型转换环境与模型训练环境
不建议放在一个虚拟环境中 ,深度学习框架版本尽量保持一致
模型训练环境
Ubuntu使用搭建方式一 (采用)
Windows使用搭建方式二 (未采用)
都可搭建训练环境TensorFlow与Pytorch
注意:
- 都要优先装好显卡驱动
- CUDA Toolkit(GPU要用到的集合)和 cudatoolkit(动态链接库不包含驱动)的区别
- cuDNN是深度学习加速库
CUDA Toolkit 和 cuDNN安装教程 (Windows方式二 未采用)
训练环境不需要涉及此步节内容,但需要更新NVIDIA显卡驱动。
Windows需要下载安装CUDA Toolkit 和 cuDNN,并且需要移动 bin include lib 文件和配置环境变量如下图,比较不舒服,而且想要安装到Conda环境里,所以采用方式一Ubuntu安装。
CUDA Toolkit 和 cuDNN可下载低于系统显卡驱动版本
win11+RTX4070Ti 安装 CUDA + cuDNN(图文教程)
查看CUDA版本
TensorFlow框架 训练环境安装 (补充 未采用)
安装TensorFlow-GPU2.5.0(方式一ubuntu下)
- 创建、进入虚拟环境
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
- 安装依赖库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
- 安装TensorFlow-GPU2.5.0
bash
pip install tensorflow-gpu=2.5.0-i https://pypi.douban.com/simple/
- 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)
- 训练一个模型看看TensorFlow-GPU2.5.0是否可用
Pytorch框架 训练环境安装 (采用)
清华源Index of /anaconda/cloud/pytorch/
Linux and Windows(选取自己适合的环境)
原因:要使用TensorRT 8.5.1.7 | Torch-TensorRT V1.3.0 |
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
- 创建、进入虚拟环境 (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
- 安装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
-----------------------
- 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环境
模型转换环境
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 未采用)
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
-
命令行切换目录
下面为该虚拟环境安装TensorRT,首先命令行切换到 E:\Miniconda3\envs\TensorRT-8.6.1.6\python 目录下并切换到conda虚拟环境中。
-
pip安装 pip install
Tensorrt Python wheel 文件目前仅支持 Python 版本 3.8 到 3.12,不适用于其他 Python版本。目前仅支持 Linux 操作系统和 x86_64 CPU 架构。这些Python wheel文件应该可以在RHEL 8或更新版本和Ubuntu 20.04或更高版本上工作。
- 选择跟虚拟环境匹配的python版本,这里选择 full installation 的安装模式 ,然后执行pip安装命令。
- 之后我们还需要安装 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来执行各种操作,例如插入、删除或替换节点,修改模型结构,以及执行其他图操作以满足您的需求。
- 测试
至此,在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。
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)
EA 版本代表抢先体验(在正式发布之前)。
GA 代表通用性。 表示稳定版,经过全面测试。
亲亲,这边建议你用TensorRT最新版本的 GA release 呢
选择适用于 Debian 的 TAR 包
解压 TAR
写入环境变量文件并保存
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地址。
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
无指令,如下图下图选择版本格式。
- 把这个压缩文件解压,需要注意的是J是大写:
bash
tar xvJf cudnn-linux-x86_64-8.5.0.96_cuda11-archive.tar.xz
- 把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 命令。
- 创建、进入虚拟环境 (方式一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
- 通过 pip wheel 安装 TensorRT,继续之前,请确保 pip Python 模块是最新的,并且已安装 wheel Python 模块,否则在安装 TensorRT ,Python 时可能会遇到问题。
bash
#在Conda环境里
python3 -m pip install --upgrade pip
python3 -m pip install wheel
- 安装 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
- 测试
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