代码之家  ›  专栏  ›  技术社区  ›  I. A Ziang Yan

带辍学的LSTM的Keras与tensorflow实现的区别

  •  1
  • I. A Ziang Yan  · 技术社区  · 6 年前

    我在查阅tensorflow和Keras的LSTM单元的文档。特别是,我也想申请退学。以下是我在Keras中得到的,并希望在tensorflow中应用相同的LSTM单元:

    cell = LSTM(num_units_2, return_sequences=True, dropout=dropout, recurrent_dropout=dropout)(net)
    

    tf.nn.rnn_cell.LSTMCell 在tensorflow中 num_units = num_units_2 . 第二,我需要一个 DropoutWrapper 作为:

    cell = tf.nn.rnn_cell.DropoutWrapper(cell)
    

    dropout recurrent_dropout variational_recurrent 设置为True(但我不确定变分递归在细节上是如何工作的)。

    此外,我不确定是否在每一个时间步骤在凯拉斯LSTM应用不同的面具。

    第二,我很困惑 output_keep_prob 以及 state_keep_prob 两人都提到:

    输出保持问题

    非常感谢您的帮助!!

    1 回复  |  直到 6 年前
        1
  •  2
  •   thushv89    6 年前

    什么变分辍学

    据我所知,变化辍学的主要新奇之处在于对所有展开的步骤使用相同的辍学掩码(如您所说)。

    output_keep_prob 以及 state_keep_prob

    输出保持问题 是应用于LSTM单元输出(h)的辍学率,其中 状态保持问题

    凯拉斯的辍学选择

    _generate_dropout_mask LSTM source code its use for the LSTMCell 对于Keras,我认为Keras LSTM只对递归连接(即。 self._recurrent_dropout_mask