【Tensorflow+Keras】tf.keras.layers.LSTM的解析与使用
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的解析与使用相关推荐
- Keras vs tf.keras: 在TensorFlow 2.0中有什么区别?
导读 在本文中,您将发现Keras和tf.keras之间的区别,包括TensorFlow 2.0中的新增功能. 万众期待的TensorFlow 2.0于9月30日正式发布. 虽然肯定是值得庆祝的时刻, ...
- TensorFlow高阶 API: keras教程-使用tf.keras搭建mnist手写数字识别网络
TensorFlow高阶 API:keras教程-使用tf.keras搭建mnist手写数字识别网络 目录 TensorFlow高阶 API:keras教程-使用tf.keras搭建mnist手写数字 ...
- Keras与tf.keras:TensorFlow 2.0有什么区别?
在本教程的第一部分中,我们将讨论Keras和TensorFlow之间相互交织的历史,包括他们共同的受欢迎程度如何相互滋养,相互促进和滋养,使我们走向今天. 然后,我将讨论为什么您应该在以后的所 ...
- Keras vs. tf.keras: 在TensorFlow 2.0中有什么区别?
在本教程中,您将发现Keras和tf.keras之间的区别,包括TensorFlow 2.0中的新增功能. Keras vs. tf.keras: 在TensorFlow 2.0中有什么区别? htt ...
- TensorFlow 2.0中的tf.keras和Keras有何区别?为什么以后一定要用tf.keras?
选自pyimagesearch 作者:Adrian Rosebrock 参与:王子嘉.张倩 本文经机器之心授权转载,禁止二次转载 随着 TensorFlow 2.0 的发布,不少开发者产生了一些疑惑: ...
- TensorFlow中的Keras用法和自定义模型和层
Keras Keras 是一个用于构建和训练深度学习模型的高阶 API.它可用于快速设计原型.高级研究和生产,具有以下三个主要优势: 方便用户使用 Keras 具有针对常见用例做出优化的简单而一致的界 ...
- tf.contrib.layers.fully_connected详解
博主 https://www.jianshu.com/p/673fd07954e9 tf.contrib.layers.fully_connected(F, num_outputs,activatio ...
- Tensorflow tf.keras.layers.LSTM
参数 参数 描述 units 输出空间的维度 input_shape (timestep, input_dim),timestep可以设置为None,由输入决定,input_dime根据具体情况 ac ...
- tf.keras.layers.LSTM 示例
import tensorflow as tf inputs = tf.random.normal([1, # batch2, # 时间步长(时间窗)3 # 输入维度 ]) print("输 ...
最新文章
- 精选Python开源项目Top10!
- 学习python(五)
- poj 2418 Hardwood Species
- rac环境改动spfile后遭遇ora-29250小例
- angularjs ajax header,angularJs/ajax跨域请求携带cookies
- 如何用Java编写最快的表达式评估器之一
- Activity跳转
- 计算机组成原理CRC相关运算,计算机专业基础综合计算机组成原理(数据的表示和运算)-试卷1...
- 开源技术、开放使用、业务导向的大数据平台,助力银行数字化转型
- php截取多个分割符号_PHP按符号截取字符串的指定部分的实现方法
- 如何在不联网的情况下安装 Silverlight Tools
- 心里窝火无语的图片_很无语的心情说说图片
- 这台计算机无法连接usb,爱思助手无法连接或者连接超时解决办法
- java线程游戏之随机小球游戏V1
- linux:为xamp添加mysql的环境变量
- cPanelWHM删除额外的IP地址问题
- 滤波器_理想低通滤波器python案例
- GitHub 吸星大法 - 一年收获 2000+ Star 的心得
- java inputstream长度_java.net.*下的相关问题 取得inputStream的长度
- 【强大的视频编辑工具】Adobe Premiere Pro CC 2019 for Mac
热门文章
- Java统计List中每个元素出现的次数、用java实现生成或显示文件的一些数字、微信小程序开发回顾
- 【转载】Microsoft 365 E5邮件API调用自动订阅无限续订服务
- SystemUI Q 移植到android studio开发
- 手机上那些排版优雅的文章是怎么实现的?
- 物联网应用平台开发——项目总结报告
- 计算机物联网前沿技术汇总
- sklearn机器学习(五)线性回归算法测算房价
- 使用aria2为网盘下载加速
- 【Android】自动瘦脸与眼睛放大美颜算法
- spring加载不到.properties中属性问题(spring中类:PropertyPlaceholderConfigurer出现多次)