tensorrt 分割_TensorRT 5 开发者手册 中文版 使用深度学习框架(三-6)

本文介绍了如何使用NVIDIA TensorRT进行深度学习推理,包括TensorRT的功能、支持的框架和算子。重点讲述了如何将TensorFlow模型转换为UFF格式,涉及冻结图、权重转存和加载,以及使用Graph Surgeon API预处理图。此外,还提到了对PyTorch和其他框架的支持。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

NVIDIA TensorRT是一种高性能神经网络推理(Inference)引擎,用于在生产环境中部署深度学习应用程序,应用有图像分类、分割和目标检测等,可提供最大的推理吞吐量和效率。TensorRT是第一款可编程推理加速器,能加速现有和未来的网络架构。本手册为TensorRT 4.0.1.6 GA版英文手册翻译而来,主要作为备忘所用,分享出来以供更多开发者使用。

TensorRT Developer Guide手册一共分为四个章节,主要内容在第二、三章,看懂这两章,写代码够用了。第一章为TensorRT综述。第四章为示例,介绍demo的代码结构及功能。开篇是目录,前三章每章为两到三篇,最后第四章示例,会拆分几个关键示例进行详细说明。

注意,2018年10月份,NVIDIA又更新TensorRT 5.0.2.6 Linux版本和TensorRT 5.0.1.3 Windows版,正式支持Windows10,经测试向下兼容Windows7也可以用。

本来这章应该是TensorRT4的第3章,在TensorRT5的手册上直接到了第8章,这里暂时先从第8章开始,继续翻译。

第8章 使用深度学习框架

8.1 框架支持的算子

8.2 使用TensorFlow

8.2.1 TensorFlow模型生成冻结图

8.2.2 Keras模型生成冻结图

8.2.3 冻结图转换为UFF

8.2.4 使用TensorFlow RNN权重

8.2.5 使用Graph Surgeon API预处理TensorFlow图

8.3 使用PyTorch和其他框架

第8章 使用深度学习框架

使用Python API,利用TensorFlow,Caffe或ONNX等兼容框架构建的模型使用TensorRT提供的解析器构建加速引擎。Python API还支持以NumPy兼容格式存储权重的框架,如PyTorch。

8.1 框架支持的算子

Caffe

Caffe框架支持的操作:

Convolution:3D,with or without bias

Pooling :Max, Average, Max_Average_blend

InnerProduct

Softmax

Activation: ReLu, Sigmoid,Tanh

LRN

Power

ElementWise: sum, product, maximum, subtraction,division, power

Concatenation: across channel

Deconvolution

BatchNormalization

Scale

Crop

Reduction : sum,prod,max,min,avg

Reshape

Permute

Dropout

Concat

ElementWise

RNN : Input,Output,Forget,Update,Reset,Cell,Hidden

Unary : exp,log,sqrt,recip,abs,neg

Padding

Shuffle

Topk max,min

Gather

Matrix_Multiply

Ragged_Softmax

Constant : Uff模型的权值就是保存为常量类型

RNN_v2

Plugin : FasterRCNN fused plugin (RPN + ROI pooling). Normalize plugin. Permute plugin. PriorBox plugin. SSD DetectionOutput plugin. Concat plugin. YOLO PReLU Plugin. YOLO Reorg Plugin. YOLO Region Plugin.

TensorFlow

TensorFlow框架支持的算子:

Placeholder

Const

Add, Sub, Mul, Div, Minimum and Maximum

BiasAdd

Negative, Abs, Sqrt, Rsqrt, Pow, Exp and Log

注意:NvUffParser只支持Neg, Abs, Sqrt, Rsqrt, Exp和Log的常量节点

FusedBatchNorm

ReLU, TanH, and Sigmoid

SoftMax

Mean

ConcatV2

Reshape

Transpose

Conv2D

DepthwiseConv2dNative

ConvTranspose2D

MaxPool

AvgPool

Pad

ONNX

ONNX解析器是一个开源项目,可以在GitHub:ONNX TensorRT中找到有关支持算子的最新信息。

8.2 使用TensorFlow

有关TensorFlow模型直接使用TensorRT的信息,请参阅:

Python示例 - [9.2.2 end_to_end_tensorflow_mnist]

8.2.1 TensorFlow模型生成冻结图

为了使用UFF命令行工具,TensorFlowGraph必须保存为.pd的冻结图文件,请参阅:

注意:一般是在模型导出的过程中直接转换成冻结图

8.2.2 Keras模型生成冻结图

使用如下代码生成Keras模型的冻结图:

from keras.models import load_model

import keras.backend as K

from tensorflow.python.framework import graph_io

from tensorflow.python.tools import freeze_graph

from tensorflow.core.protobuf import saver_pb2

from tensorflow.python.training import saver as saver_l

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值