本文用一个简单的分类(Classification)任务来演示在Tensorflow中使用RNN的基本技巧。更确切地说是使用LSTM(你可以认为它是一种特殊的RNN)。鉴于本文仅属于入门级教程,因此你可以不必太关心LSTM的内部结构。但是对于RNN的基本认知仍然是必要的。这个例子的源码主要来自文献【1】(笔者有修改),而【1】的作者又是参考的文献【2】。

如果你感觉自己对RNN仍然一窍不通,那么你可以参考本系列博文之前的一篇文章《传说中的RNN到底是何方神圣?》 。注意当我们说RNN的时候其实指的就是LSTM(下面给出代码中我们也提供了GRU的使用范例,参考被注释掉的部分,因为在TensorFlow中只要换一个函数就可以了)

当然,对于Tensorflow的基本使用也是必备的,例如,你应该知道place holder、session这些东西都是什么,以及还如何正确地使用它们。同样,如果你对这些内容仍然一窍不通,那么你可以参考本系列博文之前的一篇文章《TensorFlow简明入门宝典 》。

作为例子,我们这里要完成的任务是对0~9这十个手写数字进行分类。所使用的数据集为著名的MINST,关于这个数据集的介绍,以及关于数据读入部分的解读,可以参考之前的文章《基于Softmax实现手写数字识别

简单明了的LSTM/GRU应用实例(Tensorflow版)相关推荐

  1. DL之LSTM/GRU/CNN:基于tensorflow框架分别利用LSTM/GRU、CNN算法对上海最高气温(数据归一化+构造有监督数据集)实现回归预测案例

    DL之LSTM/GRU/CNN:基于tensorflow框架分别利用LSTM/GRU.CNN算法对上海最高气温(构造有监督数据集)实现回归预测案例 目录 基于tensorflow框架分别利用LSTM/ ...

  2. RNN LSTM GRU 代码实战 ---- 简单的文本生成任务

    RNN LSTM GRU 代码实战 ---- 简单的文本生成任务 import torch if torch.cuda.is_available():# Tell PyTorch to use the ...

  3. 通俗易懂的RNN总结(包含LSTM/GRU/BPTT等)

    1.RNN介绍: RNN的基本想法是如何采用序列信息.在传统神经网络中我们假设所有的输入和输出都是相互独立的,但对于很多任务这样的假设并不合适.如果你想预测一个句子的下一个单词,的则需要知道之前的wo ...

  4. 深度学习之循环神经网络(11)LSTM/GRU情感分类问题实战

    深度学习之循环神经网络(11)LSTM/GRU情感分类问题实战 1. LSTM模型 2. GRU模型  前面我们介绍了情感分类问题,并利用SimpleRNN模型完成了情感分类问题的实战,在介绍完更为强 ...

  5. TensorFlow2.0(十二)--实现简单RNN与LSTM网络

    实现简单RNN与LSTM网络 前言 1. 导入相应的库 2. 加载与构建数据集 2.1 加载数据集 2.2 构建词表 2.3 处理数据 3. 构建简单的RNN模型 3.1 单向RNN模型 3.2 双向 ...

  6. 简单明了的正则表达式汇总

    简单明了的正则表达式汇总!!! 资源来源:编程胶囊官网 基础正则总结 实例 描述 [Pp]ython 匹配"Python"或"python". rub[ye] ...

  7. 神经网络与深度学习作业10:(LSTM | GRU)

    神经网络与深度学习作业10:(LSTM | GRU) 习题6-3当使用公式(6.50)作为循环神经网络的状态更新公式时,分析其可能存在梯度爆炸的原因并给出解决方法. 习题6-4推导LSTM 网络中参数 ...

  8. NNDL 作业10:第六章课后题(LSTM | GRU)

    文章目录 习题6-3 当使用公式(6.50)作为循环神经网络得状态更新公式时,分析其可能存在梯度爆炸的原因并给出解决办法. 习题6-4 推导LSTM网络中参数的梯度,并分析其避免梯度消失的效果 习题6 ...

  9. RNN, LSTM, GRU, SRU, Multi-Dimensional LSTM, Grid LSTM, Graph LSTM系列解读

    RNN/Stacked RNN rnn一般根据输入和输出的数目分为5种 一对一 最简单的rnn 一对多 Image Captioning(image -> sequence of words) ...

最新文章

  1. 具体数学第二版第四章习题(1)
  2. linux添加怎么退出,linux – 是否可以设置’expect’的退出代码
  3. KubeCon 改为线上举办 | 云原生生态周报 Vol. 48
  4. MyBatis在insert插入操作时返回主键ID
  5. 数组常用方法归纳源代码
  6. SELinux深入理解
  7. 征途2无法显示服务器列表,解决win10系统玩征途2提示“DriverCommlnit驱动加载失败”的方法...
  8. 24口光纤配线架 cad块_光纤配线架cad画法
  9. 人工智能的前生,今世,和未来
  10. Golang的协程池设计
  11. JQuery操作类数组的工具方法
  12. 【早知云世】当AI遇上云计算,其应用短板与长处
  13. Servlet 3.0对上传的支持
  14. 《Effective Python 2nd》 读书笔记——列表与字典
  15. python编辑dbf文件_Python修改DBF文件指定列
  16. 没有心的男人 2012-02-08 21:11:06
  17. java信用卡卡号算法,java实现主要信息的加密解密(模拟信用卡号的保存)
  18. 无分类编址CIDR(构造超网)
  19. 海思开发板实用技巧集
  20. 网络爬虫全解析(JAVA)--目录

热门文章

  1. opencv图片旋转90°/-90°/180°
  2. 计算机的系统保护选项,右击“我的电脑”,属性选项,没有“系统还原”怎么处理啊?...
  3. 如何判断mp4的moov的位置
  4. Hive Sql 分析实例: 淘宝消费者行为分析
  5. Servelt中文乱码问题处理
  6. 从古代文学到云端技术
  7. Microsoft Store无法联网检查网络
  8. 电容与电池的主要区别说明
  9. 老船履带工具使用方法_上蔡县履带自动行走洛阳铲安全好操作
  10. day15-Appium高级手势操作