我正在使用张量流实现self normalizing neural network。当前存在tf.nn.selu和tf.contrib.nn.alpha_dropout形式的张量流“原语”,这应该使此过程变得容易。 我的问题是tf.contrib.nn.alpha_dropout。我期望它具有一个布尔开关,用于您在训练中和进行推断时,以及与其他激活功能一起使用的常用dropout函数。 在作者的原始implementation中,我们确实看到他们在selu dropout函数(dropout_selu)中具有此布尔开关(训练)。
我缺少什么吗?
答案 0 :(得分:2)
tf.contrib.nn.alpha_dropout
应该被视为tf.nn.dropout
的类似物。 The latter function的 not 也没有训练转换的参数。请勿将其与tf.layers.dropout
混淆,后者将tf.nn.dropout
包装并具有一个training
参数。我们可以看到in the implementation,layers
版本返回nn.dropout
的结果或根据training
开关的身份。以类似的方式在alpha_dropout
周围定义自己的包装应该相对容易。
为避免造成任何混乱:layers.dropout
最终将调用的“ keras层”版本称为上一步实现。