概述:
NVIDIA TensorRT™是一个C ++库,可以帮助NVIDIA图形处理器(GPU)进行高性能推理。 TensorRT通过合并张量和图层,转换权重,选择高效的中间数据格式,并根据图层参数和测量的性能从大型内核目录中进行选择,从而对网络进行定义并对其进行优化。
TensorRT包含导入方法,可帮助您表达经过训练的TensorRT深度学习模型,以进行优化和运行。 它是一种优化工具,可以应用图形优化和图层融合,并利用各种高度优化的内核集合以及可用于在推理上下文中执行此网络的运行时找到该模型的最快实现。
TensorRT包含导入方法,可帮助您表达经过训练的TensorRT深度学习模型,以进行优化和运行。 它是一种优化工具,可以应用图形优化和图层融合,并利用各种高度优化的内核集合以及可用于在推理上下文中执行此网络的运行时找到该模型的最快实现。
TensorRT包含一个基础架构,可让您利用Pascal和Volta GPU的高速降低精度功能作为可选优化。
TensorRT 层:
TensorRT直接支持以下层:
激活层:
激活层实现了每个元素的激活功能。 支持的激活类型是校正后的线性单位(ReLU),双曲正切(tanh)和“s”形曲线(sigmoid)。
级联层:
连接层将整个通道维度上相同高度和宽度的多个张量链接在一起。
卷积层:
卷积层计算具有或不具有偏差的3D(通道,高度和宽度)卷积。
反卷积层:
反卷积层实现反卷积,有或没有偏差。
ElementWise:
ElementWise层也称为Eltwise层,实现了每个元素的操作。 支持的操作是总和,产品,最大值,减法,除法和功率
Flatten:
Flatten图层在保持batch_size的同时展平输入。 假定第一维表示批次。 Flatten图层只能放置在完全连接图层的前面。
全连接层:
FullyConnected层实现了具有或不具有偏差的矩阵向量乘积。
LRN:
LRN层实现跨信道本地响应规范化。
Padding:
填充层实现张量的空间零填充。 每个轴上的填充可以不同,不对称,也可以是正数(导致张量扩展)或负数(导致修整)。
插入(Plugin):
插件层允许您集成TensorRT本身不支持的自定义图层实现。
池化pooling:
Pooling层在通道内实现池化。 支持的池类型是最大和平均值。
RNN:
RNN层实现递归层,例如递归神经网络(RNN),门控循环单元(GRU)和长期短期记忆(LSTM)。 支持的类型有RNN,GRU和LSTM
Scale:
Scale图层实现每个张量,每个通道或每个权重仿射变换和/或通过常量值取幂。
Shuffle:
shuffle层实现张量的重新洗牌。 它可以用来重塑或转置数据。
SoftMax:
SoftMax层实现了一个交叉通道SoftMax。
Squeeze:
Squeeze层从张量形状中移除尺寸1的尺寸。 Squeeze层仅实现二元挤压(去除特定尺寸1维)。 批量维度无法删除。
Unary:
Unary层支持逐点操作。 支持的操作是exp,log,sqrt,recip,abs和neg。