1、理解RNN的工作流程
2、了解基本的RNN类型
3、料及cell类:




注意:
1静态单向:tf.contrib.rnn.static_rnn结果可直接取output[-1], output.shape->[time,cellnum(rnn提取的特征)],输入input的size需要是list或者是二维的张量,list的顺序就是时间序列。元素就是每一个序列的值(batch单个时间序列的输入元素个数)。如:原始的输入数据是单通道[batch,height,width]形式,将height方向作为时间序列,通过x1 = tf.unstack(input, batch, 1)将输入的input [batch,height(time)),width]装换成time(height)个batchwidth输入数据。(因此在通过卷积网络做特征提取时候后期需要设计使得经过卷积的input的shape可以经过适当的变换输入到RNN中)

2动态单向:tf.contrib.rnn.dynamic_rnn结果先需要transpose,将结果output的格式从[batch,time,cellnum(rnn提取的特征)]变成[time,batch,cellnum(rnn提取的特征)],再用output[-1]取最后一个序列的特征传入后续计算,当然也可以不是output[-1]而是整个儿output(这个根据单幅图像对应的time个序列所含的信息量决定的,每个time含有不同的信息就考虑用所有的output,若每个timed的提取信息目标一致则可以取最后的一个time结果)用完整的output参考FOT中的RNN后续处理方式。输入RNN的input的size需要一般是三维的张量[batch,time,…],…是具体的数据,无论原始的input[batch,height,width,channels1]经过卷积后变成多少个channels2,经过变换后需要变成input [batch,height(time)),width*channels2],以次输入RNN。

上方是单向的(包括单层和多层)
3动态单层双向:tf.nn.bidirectional_dynamic_rnn结果output是一个tuple包含(output_fw,output_bw),每一个张量[batch,time,layersoutput(cellnum)],总的结果需要用tf.concat链接起来后续数据的使用参考2中的建议来,transpose后取output[-1]或者不transpose用其他方式取整个output。输入RNN的input的size需要一般是三维的张量[batch,time,…],…是具体的数据,无论原始的input[batch,height,width,channels1]经过卷积后变成多少个channels2,经过变换后需要变成input [batch,height(time)),width*channels2],以次输入RNN。

4静态单层双向:tf.nn.static_bidirectional_rnn结果output是一个长度为time的list,每个list中是batch*(2cellnum)即无需concat,双向已经链接,后续数据的使用参考2中的建议来。输入RNN的input的size需要一般是三维的张量[batch,time,…],…是具体的数据,无论原始的input[batch,height,width,channels1]经过卷积后变成多少个channels2,经过变换后需要变成input [batch,height(time)),widthchannels2],通过x1 = tf.unstack(input, batch, 1)将输入的input [batch,height(time)),widthchannels2]装换成time(height)个batch(width*channels2)输入数据以输入RNN。(因此在通过卷积网络做特征提取时候后期需要设计使得经过卷积的input的shape可以经过适当的变换输入到RNN中)

5动态多层双向:stack_bidirectional_dynamic_rnn结果output是一个张量[batch,time,layersoutput(cellsnum2)],包含concat之后的正向和反向输出。输入RNN的input的size需要一般是三维的张量[batch,time,…],…是具体的数据,无论原始的input[batch,height,width,channels1]经过卷积后变成多少个channels2,经过变换后需要变成input [batch,height(time)),widthchannels2],以次输入RNN。

6静态多层双向:stack_bidirectional_rnn结果output是一个长度为time的list,每个list中是batch*(2cellnum)即无需concat,双向已经链接,后续数据的使用参考2中的建议来。输入RNN的input的size需要一般是三维的张量[batch,time,…],…是具体的数据,无论原始的input[batch,height,width,channels1]经过卷积后变成多少个channels2,经过变换后需要变成input [batch,height(time)),widthchannels2],以次输入RNN。

Tensorflow中的RNN个人备忘相关推荐

  1. Java中操作Xml使用备忘

    List item 文章目录 Java中操作Xml使用备忘 1. Hutool中XmlUtil的使用简介 2. Hutool中XmlUtil快速读取Xml字符串某个节点值 [简单取值时,推荐使用] 2 ...

  2. jquery中的ajax方法(备忘)

    参考:https://www.cnblogs.com/tylerdonet/p/3520862.html w3school:http://www.w3school.com.cn/jquery/ajax ...

  3. C++/C中的小知识备忘

    C++/C中防止头文件的重复包含的解决办法 为了避免头文件重复包含,有两种方式可以选择,一种是#ifndef方式,由标准支持:一种是#pragma once方式,编译器提供. //方式一 #ifnde ...

  4. C#中符号的作用备忘

    ~ 按位求补符: ! 非逻辑运算符: % 求余运算符: ^ 异或位运算符: & 且位运算符: |  或位运算符: * 既可以用作乘法符号,还可以表示为指针: + 表示数学运算符相加: = 用来 ...

  5. 关于利用死锁定理关于化简资源分配图(RAG)算法中“两不点”备忘

    书读百遍其义自见: 假设某个资源分配图中存在一个进程Pi,此刻Pi是非封锁进程(既不阻塞,又不独立),对非封锁进程Pi的化简即删除资源分配图中与Pi连结的所有有向边,使Pi变成孤立结点,重复上述过程直 ...

  6. SQL中的存储过程中的事务处理。备忘

    SET XACT_ABORT on     begin tran --开始做事了 commit tran    if @@error>0        rollback

  7. Flex中Tree的用法备忘(增删改查节点)

    <?xml version="1.0" encoding="utf-8" ?> <mx:Application xmlns:mx=" ...

  8. TensorFlow中RNN实现的正确打开方式

    上周写的文章<完全图解RNN.RNN变体.Seq2Seq.Attention机制>介绍了一下RNN的几种结构,今天就来聊一聊如何在TensorFlow中实现这些结构,这篇文章的主要内容为: ...

  9. fib函数用python编写_Python中利用函数装饰器实现备忘功能

    "备忘"的定义 "memoization"(备忘)这个词是由Donald Michie在1968年提出的,它基于拉丁语单词"memorandum&qu ...

最新文章

  1. c/c++中typedef与函数指针
  2. 用习惯了windows系统要怎样去认识linux系统(一)
  3. android天气预报实训程序清单,Android天气预报项目
  4. Hibernate注解方式实现1-1双向关联
  5. oracle唯一性索引的用法,sql – Oracle:基于函数的索引选择唯一性
  6. Spring 的下载、安装和使用
  7. 04-3. 统计素数并求和(20)
  8. java infinity 处理_Java:如何执行向-Infinity而不是0的整数除法?
  9. Hive安装超详细教程
  10. OMNeT 例程 Tictoc16 学习笔记
  11. JS 案例 改变网页背景颜色
  12. 【R语言】结巴分词与词性提取(以“提取知乎问题标题的频繁词前100个形容词”实战为例)(3月25日学习笔记)
  13. 计算机音乐谱生曰快乐,原神乐谱(琴谱)生日快乐
  14. SEO搜索引擎优化总结
  15. 2、ehcache与springBoot整合
  16. 依锥彻怕燎方跃涣牧叵邻牟辟岗俅
  17. XILINX_zynq_详解(2)
  18. Java毕设项目师生健康信息管理系统(java+VUE+Mybatis+Maven+Mysql)
  19. python如何同时运行两个函数_关于python:使2个函数同时运行
  20. DA, DH, MDA, MDH,MSA到底是什么

热门文章

  1. caas k8s主控节点如何查询_k8s中部署prometheus监控告警系统prometheus系列文章第一篇...
  2. 基于FPGA实现uart串口模块(Verilog)--------发送模块及整合
  3. C# Webservice
  4. oracle lpad 字符集,oracle Lpad()函数和Rpad()函数的用法
  5. 【APP】取代top工具的Linux运维利器--htop
  6. 服务器tomcat优化知识复习总结
  7. 双机热备份VRRP当接入方式为PPPOE拨号的图文教程
  8. 我的教师生涯4:被忘却的第一节课
  9. android源码编译出错的原因
  10. java io类型_Java NIO之Java中的IO分类