最近一直在看 keras 的循环神经网络的lstm层。看了官方的document,和一些小伙伴的文章,一直都没有特别清楚。
 今天看了这篇 文章,对RNN 有了一定的了解。
下面我以Nicholas_Jela这篇文章的代码 链接 为案例分析LSTM 层参数的设置

def build_model():# input_dim是输入的train_x的最后一个维度,train_x的维度为(n_samples, time_steps, input_dim)model = Sequential()model.add(LSTM(input_dim=1, output_dim=6, return_sequences=True))#model.add(LSTM(6, input_dim=1, return_sequences=True))#model.add(LSTM(6, input_shape=(None, 1),return_sequences=True))"""#model.add(LSTM(input_dim=1, output_dim=6,input_length=10, return_sequences=True))#model.add(LSTM(6, input_dim=1, input_length=10, return_sequences=True))model.add(LSTM(6, input_shape=(10, 1),return_sequences=True))"""print(model.layers)#model.add(LSTM(100, return_sequences=True))#model.add(LSTM(100, return_sequences=True))model.add(LSTM(100, return_sequences=False))model.add(Dense(output_dim=1))model.add(Activation('linear'))model.compile(loss='mse', optimizer='rmsprop')return model

 下面三行代码是等价的

1. 输入维度   input_dim=1
2. 输出维度   output_dim=6
3. 滑动窗口  input_length=10

    #########################################################################model.add(LSTM(input_dim=1, output_dim=6,input_length=10, return_sequences=True))#model.add(LSTM(6, input_dim=1, input_length=10, return_sequences=True))model.add(LSTM(6, input_shape=(10, 1),return_sequences=True))########################################################################

 input_length=10,可不用输入,实际上数据再输入前,已经被加工成三维数组,如下图,train_x 是 106*10*1,的三维数组

    ########################################################################model.add(LSTM(input_dim=1, output_dim=6, return_sequences=True))#model.add(LSTM(6, input_dim=1, return_sequences=True))#model.add(LSTM(6, input_shape=(None, 1),return_sequences=True))########################################################################


代码下载

keras lstm 层理解相关推荐

  1. 【深度学习】图文并茂!用Keras LSTM构建编码器-解码器模型

    作者 | Nechu BM 编译 | VK 来源 | Towards Data Science 基础知识:了解本文之前最好拥有关于循环神经网络(RNN)和编解码器的知识. 本文是关于如何使用Pytho ...

  2. Keras LSTM教程

    **本文更完整的内容请参考极客教程的深度学习专栏:https://geek-docs.com/deep-learning/rnn/keras-lstm-tutorial.html,欢迎提出您的宝贵意见 ...

  3. 用Keras LSTM构建编码器-解码器模型

    作者|Nechu BM 编译|VK 来源|Towards Data Science 基础知识:了解本文之前最好拥有关于循环神经网络(RNN)和编解码器的知识. 本文是关于如何使用Python和Kera ...

  4. 深度学习(二十二)Dropout浅层理解

    Dropout浅层理解 原文地址:http://blog.csdn.net/hjimce/article/details/50413257 作者:hjimce 一.相关工作 本来今天是要搞<Ma ...

  5. Tensorflow[基础篇]——LSTM的理解与实现

    前言 本文参考了tensorflow github里面的实现的lstm的教程代码6_lstm.ipynb.因为这代码即实现了lstm,也实操了tf的内容,可以说是一箭双雕. 源码地址:https:// ...

  6. 深度学习之循环神经网络(9)LSTM层使用方法

    深度学习之循环神经网络(9)LSTM层使用方法 1. LSTMCell 2. LSTM层  在TensorFlow中,同样有两种方式实现LSTM网络.既可以使用LSTMCell来手动完成时间戳上面的循 ...

  7. 深度学习(二十二)Dropout浅层理解与实现

    Dropout浅层理解与实现 原文地址:http://blog.csdn.net/hjimce/article/details/50413257 作者:hjimce 一.相关工作 本来今天是要搞< ...

  8. Keras LSTM实现多维输入输出时序预测实践详解

    自古以来,我们就希望预知未来,现如今,随着大数据人工智能技术的发展,我们早已经不满足传统的同比.环比等数据分析方法,但是时间序列趋势预测的传统算法又很专业,很难用于日常生产经营中. 深度学习神经网络为 ...

  9. LSTM结构理解与python实现

    LSTM结构理解与python实现 上篇博客中提到,简单的RNN结构求解过程中易发生梯度消失或梯度爆炸问题,从而使得较长时间的序列依赖问题无法得到解决,其中一种越来越广泛使用的解决方法就是 Long ...

最新文章

  1. javaMail操作QQ邮箱发送邮箱 Demo
  2. 三种安防监控摄像机供电方式,如何合理选择?
  3. LeetCode 337. 打家劫舍 III(记忆化+递归)
  4. Android textedit 背景,Android EditText 的使用及值得注意的地方
  5. snoopy(强大的PHP采集类) 实例应用 1
  6. java对世界各个时区(TimeZone)的通用转换处理方法
  7. 计算机的原码, 反码和补码
  8. 推荐一款开源的加解密算法 --- XXTEA
  9. 如何根据身份证号码辨别性别
  10. JeecgBoot新增一个module
  11. 微软OpenPai平台部署安装(kubernetes 大数据和深度学习平台安装部署)
  12. 西瓜视频中视频计划还有机会吗?
  13. 【剑桥摄影协会】针对摄影的显示器校准
  14. 算法题 硬币组合问题
  15. 轻量级单元测试Cmockery源码学习 第一章
  16. IPSec 基础介绍
  17. vue-quill-editor编辑器文本不居中问题处理
  18. 【LeetCode】正则表达式匹配
  19. 使用Canvas 实现手机端签名
  20. P2P网贷中的4种理财业务模式

热门文章

  1. php解释命令行的参数
  2. uva140 Bandwidth
  3. 802.11ac/ax (wifi6)中的Beamforming技术介绍
  4. GCC全过程详解+剖析生成的.o文件
  5. #if 和#ifdef的区别
  6. PAT甲级1141 PAT Ranking of Institutions :[C++题解]结构体、排序、哈希表、结构体构造函数、结构体内写函数、排名
  7. php 三元运算符 为空,PHP中三元运算符和Null合并运算符的简单比较
  8. linux tr 变量大小写,使用tr命令快速达到大小写互换——深圳培训linux
  9. linux如何自动清buff,centos7
  10. 13 登陆_13级!凌晨,“黑格比”登陆!对莆田的最新影响……