TensorRT 7.2.2 下载、安装、使用(ubuntu 18.04, cuda 10.2, cudnn 8.0.5)

Tensro RT 7.2.2 安装使用

  • 一、下载安装
    • 1.下载
      • (1) 官网下载
      • (2) 交大云盘下载
    • 2.安装
  • 二、使用
    • 例1:图像分类模型转换和inference
    • 例2:Pytorch平台Mnist数据集训练,转换和Inference
      • 读源码:
        • model.py
        • sample.py

一、下载安装

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.csdn.net/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

你可能感兴趣的:(深度学习,人工智能,python,pytorch,深度学习)