1 作用原理

实现LSTM网络
原理介绍:长短期记忆模型(Long-Short Term Memory,LSTM)

2 参数

tf.keras.layers.LSTM(
units,
activation=“tanh”,
recurrent_activation=“sigmoid”,#用于重复步骤的激活功能
use_bias=True,#,是否图层使用偏置向量
kernel_initializer=“glorot_uniform”,#kernel权重矩阵的 初始化程序,用于输入的线性转换
recurrent_initializer=“orthogonal”,#权重矩阵的 初始化程序,用于递归状态的线性转换
bias_initializer=“zeros”,#偏差向量的初始化程序
unit_forget_bias=True,#则在初始化时将1加到遗忘门的偏置上
kernel_regularizer=None,#正则化函数应用于kernel权重矩阵
recurrent_regularizer=None,#正则化函数应用于 权重矩阵
bias_regularizer=None,#正则化函数应用于偏差向量
activity_regularizer=None,#正则化函数应用于图层的输出(其“激活”)
kernel_constraint=None,#约束函数应用于kernel权重矩阵
recurrent_constraint=None,#约束函数应用于 权重矩阵
bias_constraint=None,#约束函数应用于偏差向量
dropout=0.0,#要进行线性转换的输入单位的分数
recurrent_dropout=0.0,#为递归状态的线性转换而下降的单位小数
return_sequences=False,#是否返回最后一个输出。在输出序列或完整序列中
return_state=False,#除输出外,是否返回最后一个状态
go_backwards=False,#如果为True,则向后处理输入序列并返回反向的序列
stateful=False,#如果为True,则批次中索引i的每个样本的最后状态将用作下一个批次中索引i的样本的初始状态。
time_major=False,
unroll=False,#如果为True,则将展开网络,否则将使用符号循环。展开可以加快RNN的速度,尽管它通常会占用更多的内存。展开仅适用于短序列。
)

一般情况下只使用三个参数

  • units 输出空间的维度
  • input_shape (timestep, input_dim),timestep可以设置为None,由输入决定,input_dime根据具体情况
  • activation 激活函数,默认tanh

3 举例使用

inputs = tf.random.normal([32, 10, 8])
lstm = tf.keras.layers.LSTM(4)
output = lstm(inputs)
print(output.shape)
#(32, 4)
lstm = tf.keras.layers.LSTM(4, return_sequences=True, return_state=True)
whole_seq_output, final_memory_state, final_carry_state = lstm(inputs)
print(whole_seq_output.shape)
#(32, 10, 4)
print(final_memory_state.shape)
#(32, 4)
print(final_carry_state.shape)
#(32, 4)

【Tensorflow+Keras】tf.keras.layers.LSTM的解析与使用相关推荐

  1. Keras vs tf.keras: 在TensorFlow 2.0中有什么区别?

    导读 在本文中,您将发现Keras和tf.keras之间的区别,包括TensorFlow 2.0中的新增功能. 万众期待的TensorFlow 2.0于9月30日正式发布. 虽然肯定是值得庆祝的时刻, ...

  2. TensorFlow高阶 API: keras教程-使用tf.keras搭建mnist手写数字识别网络

    TensorFlow高阶 API:keras教程-使用tf.keras搭建mnist手写数字识别网络 目录 TensorFlow高阶 API:keras教程-使用tf.keras搭建mnist手写数字 ...

  3. Keras与tf.keras:TensorFlow 2.0有什么区别?

      在本教程的第一部分中,我们将讨论Keras和TensorFlow之间相互交织的历史,包括他们共同的受欢迎程度如何相互滋养,相互促进和滋养,使我们走向今天.   然后,我将讨论为什么您应该在以后的所 ...

  4. Keras vs. tf.keras: 在TensorFlow 2.0中有什么区别?

    在本教程中,您将发现Keras和tf.keras之间的区别,包括TensorFlow 2.0中的新增功能. Keras vs. tf.keras: 在TensorFlow 2.0中有什么区别? htt ...

  5. TensorFlow 2.0中的tf.keras和Keras有何区别?为什么以后一定要用tf.keras?

    选自pyimagesearch 作者:Adrian Rosebrock 参与:王子嘉.张倩 本文经机器之心授权转载,禁止二次转载 随着 TensorFlow 2.0 的发布,不少开发者产生了一些疑惑: ...

  6. TensorFlow中的Keras用法和自定义模型和层

    Keras Keras 是一个用于构建和训练深度学习模型的高阶 API.它可用于快速设计原型.高级研究和生产,具有以下三个主要优势: 方便用户使用 Keras 具有针对常见用例做出优化的简单而一致的界 ...

  7. tf.contrib.layers.fully_connected详解

    博主 https://www.jianshu.com/p/673fd07954e9 tf.contrib.layers.fully_connected(F, num_outputs,activatio ...

  8. Tensorflow tf.keras.layers.LSTM

    参数 参数 描述 units 输出空间的维度 input_shape (timestep, input_dim),timestep可以设置为None,由输入决定,input_dime根据具体情况 ac ...

  9. tf.keras.layers.LSTM 示例

    import tensorflow as tf inputs = tf.random.normal([1, # batch2, # 时间步长(时间窗)3 # 输入维度 ]) print("输 ...

最新文章

  1. 精选Python开源项目Top10!
  2. 学习python(五)
  3. poj 2418 Hardwood Species
  4. rac环境改动spfile后遭遇ora-29250小例
  5. angularjs ajax header,angularJs/ajax跨域请求携带cookies
  6. 如何用Java编写最快的表达式评估器之一
  7. Activity跳转
  8. 计算机组成原理CRC相关运算,计算机专业基础综合计算机组成原理(数据的表示和运算)-试卷1...
  9. 开源技术、开放使用、业务导向的大数据平台,助力银行数字化转型
  10. php截取多个分割符号_PHP按符号截取字符串的指定部分的实现方法
  11. 如何在不联网的情况下安装 Silverlight Tools
  12. 心里窝火无语的图片_很无语的心情说说图片
  13. 这台计算机无法连接usb,爱思助手无法连接或者连接超时解决办法
  14. java线程游戏之随机小球游戏V1
  15. linux:为xamp添加mysql的环境变量
  16. cPanelWHM删除额外的IP地址问题
  17. 滤波器_理想低通滤波器python案例
  18. GitHub 吸星大法 - 一年收获 2000+ Star 的心得
  19. java inputstream长度_java.net.*下的相关问题 取得inputStream的长度
  20. 【强大的视频编辑工具】Adobe Premiere Pro CC 2019 for Mac

热门文章

  1. Java统计List中每个元素出现的次数、用java实现生成或显示文件的一些数字、微信小程序开发回顾
  2. 【转载】Microsoft 365 E5邮件API调用自动订阅无限续订服务
  3. SystemUI Q 移植到android studio开发
  4. 手机上那些排版优雅的文章是怎么实现的?
  5. 物联网应用平台开发——项目总结报告
  6. 计算机物联网前沿技术汇总
  7. sklearn机器学习(五)线性回归算法测算房价
  8. 使用aria2为网盘下载加速
  9. 【Android】自动瘦脸与眼睛放大美颜算法
  10. spring加载不到.properties中属性问题(spring中类:PropertyPlaceholderConfigurer出现多次)