Tensro RT 7.2.2 安装使用
一、下载安装
tensorrt 官网: https://developer.nvidia.com/tensorrt
官网安装教程:https://docs.nvidia.com/deeplearning/tensorrt/install-guide/index.html#installing
1.下载
(1) 官网下载
tensorrt 官网: https://developer.nvidia.com/tensorrt
点击“立即下载”,需要英伟达账号,可以选择任意平台适配你的cuda版本的TensorRT.
(2) 交大云盘下载
交大云盘下载速度可以达到5~10Mb/s。
目标前仅提供TensorRT-7.2.2的tar版本,适配Ubuntu18.04 x86_64架构、cuda为10.2,cudnn>=8.0.1。
wget -c -O TensorRT-7.2.2.3.Ubuntu-18.04.x84_64-gnu.cuda-10.2.cudnn8.0.tar.gz https://jbox.sjtu.edu.cn:10081/v2/delivery/data/c699ae6ce329441a81b23dbe96dd1edd/?token=
2.安装
提示:
安装tensorrt需要先安装好配套的cuda和cudnn,本文使用的cuda=10.2,cudnn=8.0.5,安装教程见:
https://blog.youkuaiyun.com/qq_26794857/article/details/111664965
(1)解压tar文件:
tar -zxvf TensorRT-7.2.2.3.Ubuntu-18.04.x84_64-gnu.cuda-10.2.cudnn8.0.tar.gz
(2)解压得到TensorRT-7.2.2.3文件夹,把其中的lib路径添加到环境变量(注意修改成你的路径):
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/zzd/software/TensorRT-7.2.2.3/lib
(3)进入到解压路径下的python文件夹,使用pip安装
(注意:py2使用pip,py3使用pip3,如果是conda虚拟环境,要先激活该环境,再使用pip,并选择对应的whl文件):
cd TensorRT-7.2.2.3/python
pip3 install tensorrt-7.2.2.3-cp37-none-linux_x86_64.whl
(4)安装uff以支持tensorflow
cd TensorRT-7.2.2.3/uff
pip install uff-0.6.9-py2.py3-none-any.whl
(5)安装graphsurgeon以支持自定义结构
cd TensorRT-7.2.2.3/graphsurgeon
pip install graphsurgeon-0.4.5-py2.py3-none-any.whl
(6)安装onnx_graphsurgeon以支持onnx
cd TensorRT-7.2.2.3/onnx_grahsurgeon
pip install onnx_graphsurgeon-0.2.6-py2.py3-none-any.whl
二、使用
安装包解压目录TensorRT-7.2.2.3/samples文件夹下提供了运行示例,下面以python为例,注:仅演示pytorch相关代码,tensorflow及其他平台请查看官网教程。
官网教程:https://docs.nvidia.com/deeplearning/tensorrt/sample-support-guide/index.html#python_samples_section
例1:图像分类模型转换和inference
使用python把Caffe2(.Caffe格式),Tensorflow(.UFF格式)和ONNX(.pb格式)模型转换为tensorRT格式,样例是resnet50。
以onnx格式为例
cd samples/python/introductory_parser_samples
pip3 install -r requirements.txt # 安装支持库
ls ../../../data/resnet50 # 查看配套的数据文件是否存在(待检测图像、不同平台的训练好的权重文件)
python onnx_resnet50.py -d ../../../data # 运行,-d指定配套数据路径
如果输入类似如下内容则成功:
Correctly recognized <path>/data/resnet50/binoculars.jpeg as binoculars
例2:Pytorch平台Mnist数据集训练,转换和Inference
使用pytorch,在MNIST手写数字数据集上训练模型,并且用TensorRT engine推断。
cd samples/python/network_api_pytorch_mnist
pip3 install -r requirements.txt
python sample.py
如果输出如下内容则成功:
Test Case: 2
Prediction: 2
读源码:
model.py
两个类:Net和MnistModel
-
Class: Net是网络架构
- conv1: 输入1通道,输出20通道,卷积核5 + 最大池化
- conv2: 输入20通道,输出5-通道,卷积核5 + 最大池化
- xiew展平 + 全连接层1 + relu激活 + 全连接层2 + log_softmax函数分类 Class: MnistModel是综合类
- 导入了Net类,并包含了dataloader、训练函数、测试函数
sample.py
主程序:导入MinistModel,训练,测试,获取权重,转换为engine,加载输入输出流进行推断。
很多内容调用了common.py
这篇博客详细介绍了如何在Ubuntu 18.04上下载和安装TensorRT 7.2.2,包括从官网和交大云盘获取,以及与CUDA 10.2和CuDNN 8.0.5的配合。此外,文章还展示了如何在Pytorch环境中,进行图像分类模型的转换和推理,包括MNIST数据集的训练、转换和TensorRT引擎推断。
9033

被折叠的 条评论
为什么被折叠?



