gpt4 book ai didi

python - Tensorflow:DropoutWrapper 导致不同的输出?

转载 作者:太空宇宙 更新时间:2023-11-03 11:21:55 25 4
gpt4 key购买 nike

我构建了一个 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)

然后我训练模型,并保存变量。下次我加载保存的变量并跳过训练时,它会给出不同的预测。

如果我将 output_keep_prob 更改为 1,此模型始终可以显示相同的预测,但如果 output_keep_prob 小于 1,例如 0.5,则此模型显示我每次都有不同的预测。

所以我猜 DropoutWrapper 是否会导致不同的输出?如果是这样,我该如何解决这个问题?

谢谢

最佳答案

尝试对 DropoutWrapper(...) 使用 seed 关键字参数:

lstm_cell = tf.nn.rnn_cell.DropoutWrapper(lstm_cell, output_keep_prob=0.5, seed=42)

查看文档 here对于 DropoutWrapper.__init__

关于python - Tensorflow:DropoutWrapper 导致不同的输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41178761/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com