tf.contrib.rnn.LSTMCell()详细介绍,每个参数的含义介绍

   LSTM由三个门组成,分别是:遗忘门,输入门、输出门

函数初始化:
__init__(
    num_units,
    use_peepholes=False,
    cell_clip=None,
    initializer=None,
    num_proj=None,
    proj_clip=None,
    num_unit_shards=None,
    num_proj_shards=None,
    forget_bias=1.0,
    state_is_tuple=True,
    activation=None,
    reuse=None,
    name=None,
    dtype=None,
    **kwargs
)
参数介绍:
  num_units: int型, LSTM网络单元的个数,即隐藏层的节点数。
  use_peepholes: bool型, 默认False,True表示启用Peephole连接。peephole是指门层也会接受细胞状态的输入,也就是说在基本的LSTM的基础上,在每一个门层的输入时加入细胞状态的输入。如下图所示。f 和 i 都加入了Ct-1的细胞状态,o 加入了Ct的细胞状态。


  cell_clip: (可选) 一个浮点值, 是否在输出前对cell状态按照给定值进行截断处理。
  initializer: (可选) 权重和映射矩阵的初始化器。
  num_proj: (可选) int型, 映射矩阵的输出维度,如果为None,则不会进行映射。
  proj_clip: (可选) 一个浮点值. 如果num_proj > 0 而且proj_clip不为空,那么映射后的值被逐元素裁剪到[-proj_clip, proj_clip]的分为内.
  num_unit_shards: Deprecated.
  num_proj_shards: Deprecated.
  forget_bias: 在训练开始时,为了减小遗忘尺度,遗忘门的偏置默认初始化为1.0,当从已经训练好的CudnnLSTM的checkpoints文件恢复时,这个值必须手动设置为0. 
  state_is_tuple: 如果为True, 接受的和返回的状态是一个(c, h)的二元组,其中c为细胞当前状态,h为当前时间段的输出的同时,
也是下一时间段的输入的一部分。如果为False, 那么它们会concatenated到一起. 为False的情况将来会废弃.
  activation: 内部状态的激活函数,默认为tanh. 
  reuse: (可选)bool型,是否重用已经存在scope中的变量. 如果为False, 而且已经存在的scope中已经有同一个变量,则会出错.
  name: String型, 网络层的名字,拥有相同名字的网络层将共享权重,但是为了避免出错,这种情况需要设置reuse=True.
  dtype: 网络层的默认类型,默认为None,意味着使用第一次输入的类型.
  **kwargs: Dict型, 一般网络层属性的关键字命名属性.

 

参考:

1、https://blog.csdn.net/MOU_IT/article/details/86103110

2、https://www.jianshu.com/p/9dc9f41f0b29

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值