gpt4 book ai didi

python tensorflow 在输入层上使用 dropout

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

我正在将 python 与 tf 结合使用,并寻找正确的方法来屏蔽一些输入,同时为 mnist 数据训练自动降噪编码器。

我尝试对输入层使用 dropout,就像我对隐藏层使用它一样,结果不太好,很难知道自动编码器的问题是什么,因为很难调试所有内容深度学习架构

我用于 dropout 的代码,包括输入层:

def encoder_2(x):
global dims #list of dimensions including the input
layers = [x]
dropouts = []
for i,dim in list(enumerate(dims))[:-1]:
dropouts.append(tf.nn.dropout(layers[-1], keep_prob=keep_prob))
try:
layers.append(tf.nn.relu(tf.add(tf.matmul(dropouts[-1], weights["encoder_h%d"%(i+1)]), biases["encoder_b%d"%(i+1)])))
except:
pass

return layers[-1]

我找到了here一些输入屏蔽的实现,但我发现很难相信 tf 中没有内置函数。

屏蔽输入的正确方法是丢失吗?如果没有,是否有内置方法可以在输入上使用屏蔽(丢弃)?

谢谢

最佳答案

通常输入层的保留概率是不同的。首先,尝试保留所有输入 keep_prob=1.0 并查看是否获得与无 dropout 类似的结果。如果您尝试 keep_prob=0.0,您应该只会得到噪音(没有输入)。这就是调试此类系统的方法。当您确定限制有效时,请尝试类似 keep_prob=0.8 的内容,这通常对 mnist 有利。

关于python tensorflow 在输入层上使用 dropout,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44626423/

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