nic*_*zxd 5 python lstm tensorflow
我构建了一个 LSTM,如:
lstm_cell = tf.nn.rnn_cell.LSTMCell(n_hidden, forget_bias=1.0, state_is_tuple=True, activation=tf.nn.tanh)
lstm_cell = tf.nn.rnn_cell.DropoutWrapper(lstm_cell, output_keep_prob=0.5)
lstm_cell = tf.nn.rnn_cell.MultiRNNCell([lstm_cell] * 3, state_is_tuple=True)
Run Code Online (Sandbox Code Playgroud)
然后我训练模型,并保存变量。下次我加载保存的变量并跳过训练时,它会给我一个不同的预测。
如果我将 the 更改output_keep_prob为 1,则该模型始终可以向我显示相同的预测,但是如果output_keep_prob小于 1,例如 0.5,则该模型每次都会向我显示不同的预测。
所以我猜这是否DropoutWrapper会导致不同的输出?如果是这样,我该如何解决这个问题?
谢谢
小智 1
尝试使用seed关键字参数DropoutWrapper(...):
lstm_cell = tf.nn.rnn_cell.DropoutWrapper(lstm_cell, output_keep_prob=0.5, seed=42)
Run Code Online (Sandbox Code Playgroud)
请参阅此处的文档DropoutWrapper.__init__
| 归档时间: |
|
| 查看次数: |
2952 次 |
| 最近记录: |