TensorRT IRNNv2Layer

IRNNv2Layer层实现递归层,如递归神经网络(RNN)、门控递归单元(GRU)和长短期记忆(LSTM)。支持的类型有RNN、GRU和LSTM。它执行一个递归操作,其中操作由几个著名的递归神经网络(RNN)“单元”之一定义。

图层说明

该层接受输入序列X,初始隐藏状态H0,如果该单元是长短期存储器(LSTM)单元,则为初始单元状态C0,并产生一个输出Y,该输出Y表示跨T个时间步计算的最终RNN“子层”的输出(见下文)。可选地,该层还可以产生表示最终隐藏状态的输出hT,并且,如果单元是LSTM单元,则输出cT表示最终单元状态。

将单元的操作定义为函数G(x,h,c)。此函数接受向量输入x、h和c,并产生最多两个向量输出h'和c',表示执行单元操作后的隐藏状态和单元状态。

在默认(单向)配置中,RNNv2层应用如下图所示的Gas:

another layer are dropped.

network->markOutput(*pred->getOutput(1));

pred->getOutput(1)->setType(DataType::kINT32);

rnn->getOutput(1)->setName(HIDDEN_OUT_BLOB_NAME);

network->markOutput(*rnn->getOutput(1));

if (rnn->getOperation() == RNNOperation::kLSTM)

{

rnn->getOutput(2)->setName(CELL_OUT_BLOB_NAME);

network->markOutput(*rnn->getOutput(2));

};

See the C++ class IRNNv2Layer or the Python class IRNNv2Layer for further details.

  1. RNNv2 Layer Setup

网络的第一层是RNN层。这是在addRNNv2Layer()函数中添加和配置的。该层由以下配置参数组成。

操作

这定义了RNN单元的操作。支持的操作目前有relu、LSTM、GRU和tanh。

方向

这定义了RNN是单向的还是双向的(BiRNN)。

输入模式

这定义了RNN的第一层是执行矩阵乘法(线性模式),还是跳过矩阵乘法(跳过模式)。

例如,在sampleCharRNN中使用的网络中,我们使用了一个线性的、单向的LSTM单元,其中包含层数为层数的层数。下面的代码显示了如何创建这个RNNv2层。

auto rnn = network->addRNNv2(*data, LAYER_COUNT, HIDDEN_SIZE, SEQ_SIZE, RNNOperation::kLSTM);

注:对于RNNv2层,需要单独设置权重和偏差。有关详细信息,请参见RNNv2层-可选输入。

有关更多信息,请参阅TensorRT API文档。

  1. RNNv2 Layer - Optional Inputs

如果存在需要将hidden和cell状态预初始化为非零值的情况,那么可以通过setHiddenState和setCellState调用对它们进行预初始化。这些是RNN的可选输入。

C++ code snippet

rnn->setHiddenState(*hiddenIn);

if (rnn->getOperation() == RNNOperation::kLSTM)

rnn->setCellState(*cellIn);

Python code snippet

rnn.hidden_state = hidden_in

if rnn.op == trt.RNNOperation.LSTM:

rnn.cell_state = cell_in

TensorRT IRNNv2Layer的更多相关文章

  1. TensorRT学习总结

    TensorRT是什么 建议先看看这篇https://zhuanlan.zhihu.com/p/35657027 深度学习 训练 部署 平常自学深度学习的时候关注的更多是训练的部分,即得到一个模型.而 ...

  2. TensorRT&Sample&Python[yolov3_onnx]

    本文是基于TensorRT 5.0.2基础上,关于其内部的yolov3_onnx例子的分析和介绍. 本例子展示一个完整的ONNX的pipline,在tensorrt 5.0的ONNX-TensorRT ...

  3. TensorRT&Sample&Python[uff_custom_plugin]

    本文是基于TensorRT 5.0.2基础上,关于其内部的uff_custom_plugin例子的分析和介绍. 本例子展示如何使用cpp基于tensorrt python绑定和UFF解析器进行编写pl ...

  4. TensorRT&Sample&Python[fc_plugin_caffe_mnist]

    本文是基于TensorRT 5.0.2基础上,关于其内部的fc_plugin_caffe_mnist例子的分析和介绍. 本例子相较于前面例子的不同在于,其还包含cpp代码,且此时依赖项还挺多.该例子展 ...

  5. TensorRT&Sample&Python[network_api_pytorch_mnist]

    本文是基于TensorRT 5.0.2基础上,关于其内部的network_api_pytorch_mnist例子的分析和介绍. 本例子直接基于pytorch进行训练,然后直接导出权重值为字典,此时并未 ...

  6. TensorRT&Sample&Python[end_to_end_tensorflow_mnist]

    本文是基于TensorRT 5.0.2基础上,关于其内部的end_to_end_tensorflow_mnist例子的分析和介绍. 1 引言 假设当前路径为: TensorRT-5.0.2.6/sam ...

  7. TensorRT&Sample&Python[introductory_parser_samples]

    本文是基于TensorRT 5.0.2基础上,关于其内部的introductory_parser_samples例子的分析和介绍. 1 引言 假设当前路径为: TensorRT-5.0.2.6/sam ...

  8. 模型加速[tensorflow&tensorrt]

    在tensorflow1.8之后的版本中,tensorflow.contrib部分都有tensorrt的组件,该组件存在的意义在于,你可以读取pb文件,并调用tensorrt的方法进行subgraph ...

  9. TensorRT层和每个层支持的精度模式

    下表列出了TensorRT层和每个层支持的精确模式.它还列出了该层在深度学习加速器(DLA)上运行的能力.有关附加约束的更多信息,请参见 DLA Supported Layershttps://doc ...

随机推荐

  1. Windows核心编程 第十二章 纤程

    第1 2章 纤 程 M i c r o s o f t公司给Wi n d o w s添加了一种纤程,以便能够非常容易地将现有的 U N I X服务器应用程序移植到Wi n d o w s中.U N I ...

  2. Docker镜像基本使用

    使用 Docker 镜像 Docker 运行容器前需要本地存在对应的镜像,如果本地不存在该镜像,Docker 会从镜像仓库下载该镜像. 获取镜像 docker pull [选项] [Docker Re ...

  3. windows桌面图标及任务管理栏丢失

    背景环境: 卸载某些软件,如Auto CAD 2011 之后,会出现桌面图标和任务栏丢失的现象,某些重要文件没有保存或者不能注销及重启的动作 1:按组合键Ctrl+Shift+Esc,键调出任务管理器 ...

  4. 【译】.NET 的新的动态检测分析

    随着 Visual Studio 16.9 的发布,Visual Studio 中的检测分析变得更好用了.本文介绍我们新的动态分析工具.这个工具显示了函数被调用的确切次数,并且比我们以前的静态检测工具 ...

  5. Asp.NetCore Web开发之会话技术

    这节讲一下会话技术,首先了解一下什么是会话,会话是指浏览器打开到关闭的过程中,多次与服务器发送接收数据的过程. 由于HTTP是无状态协议,一次请求响应过后,产生的数据就随之释放了,可是在某些情况下,我 ...

  6. Asp.NetCore 自定义中间件

    这节演示一下自定义中间件,第一节我们讲到,中间件的处理流程就像一个俄罗斯套娃,那这种俄罗斯套娃型的流程内部是如何实现的呢,下面请看代码​. ​第一种写法是直接写在Configure方法中的,使用app ...

  7. Window内核学习之保护模式基础

    段寄存器 段寄存器有6个分别是 cs,ss,ds,es,fs,gs.这些段寄存器包含16位的可见部分和80位的隐藏部分,共90位. 16位的可见部分就是我们知道的cs等段寄存器的值,我们可以在od中查 ...

  8. XCTF.MISC 新手篇

    目录 泪目 1.this_is_flag 2.pdf 3.如来十三掌 4.give_you_flag 5.坚持60s 6.gif 7.掀桌子 8.ext3 9.stegano 10.SimpleRAR ...

  9. 关于ajax的数据传输类型,字符串传输

  10. jQuery的入口和jQurey的对象切换

    jQuery jQuery的导入 通过script标签的src属性,link标签是导入层叠样式表 jQuery和原生JS的入口函数 1.jQ在页面结构加载完毕就会执行 原生JS的入口函数是等图片.层叠 ...