安装python环境
在anaconda的命令行中输入conda create --name py38 python=3.8
安装python环境
然后安装深度学习框架pytorch环境
Previous PyTorch Versions | PyTorch
在这里面选择合适的环境
conda install pytorch==1.8.0 torchvision==0.9.0 torchaudio==0.8.0 cudatoolkit=11.1 -c pytorch -c conda-forge
安装完成之后
在命令行依次输入
python
import torch
print(torch.cuda.is_available())
打印为True表示gpu安装完成。
然后pip install 安装自己运行代码中缺少的库。
然后是tensorrt的安装
import tensorrt as trt
ModuleNotFoundError: No module named 'tensorrt'
官网的下载地址,这里我安装了8.6的版本,基本上cuda11.0-11.8系列都支持,在windows上运行。
https://developer.nvidia.com/nvidia-tensorrt-8x-download
这里还要确定自己的系统环境的cuda版本
输入命令
# 查看cuda版本
nvcc -V
# 查看Python版本 ---作者是Python 3.8.15
python -V
查看
Cuda是11.2,python是3.8.18的环境。
找到本机安装CUDA的文件路径:
默认安装通常在: C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.3(版本)
本文安装主路径在: D:\ProgramFiles\NVIDIAGPUComputingToolkit\CUDA\v11.3
解压TensorRT后主路径: D:\TensorRT-8.6.0.12
随后将如下TensorRT中的部分文件移动到CUDA主路径下的对应文件夹内。(* 代表该目录下所有文件放入到目标路径, *.lib 表示当前文件夹下所有.lib结尾的文件):
TensorRT 文件夹下 | CUDA 文件夹下 |
./bin/* | ./bin/ |
./include/* | ./include/ |
./lib/*.lib | ./lib/x64/ |
./lib/*.dll | ./bin/ |
在解压的tensorrt文件界面cmd,
再输入activate py38,进入到自己的python环境
依次输入以下命令安装tensorrt的环境。
pip install .\graphsurgeon\graphsurgeon-0.4.6-py2.py3-none-any.whl
pip install .\onnx_graphsurgeon\onnx_graphsurgeon-0.3.12-py2.py3-none-any.whl
# 此行根据自己的Python版本选择!!!
pip install .\python\tensorrt-8.6.0-cp38-none-win_amd64.whl
pip install .\uff\uff-0.6.9-py2.py3-none-any.whl
安装完成之后输入以下命令验证tensorrt是否安装成功。
import tensorrt as trt
print(trt.__version__)
以上就完成了tensorrt的安装
如在运行转模型代码中出现报错
import pycuda.driver as cuda
ModuleNotFoundError: No module named 'pycuda'
输入以下命令即可
pip install pycuda -i https://mirrors.aliyun.com/pypi/simple/
运行代码报错问题如:
builder.max_workspace_size = 1 << 30 # Your workspace size
AttributeError: 'tensorrt.tensorrt.Builder' object has no attribute 'max_workspace_size'
解决方法:
使用如下命令替换:
config = builder.create_builder_config()
config.max_workspace_size = 1 << 30
替换:builder.max_workspace_size = 1 << 30
AttributeError: 'tensorrt.tensorrt.Builder' object has no attribute 'build_cuda_engine'
解决方法:
profile = builder.create_optimization_profile()
config = builder.create_builder_config()
config.add_optimization_profile(profile)
engine = builder.build_engine(network, config)
替换:engine = builder.build_cuda_engine(network)