使用tf.keras.layers.Lambda会产生错误的结果

时间:2019-06-20 21:04:20

标签: python tensorflow tensorflow-estimator tf.keras

我已经使用tf.estimator.Estimator定义了一个神经网络,需要在图层中添加自定义操作。特别是我想将logit层规范化为特定规范C,然后将高斯噪声独立添加到每个logit。我这样做的是:

initial_logits = tf.keras.layers.Dense(units=params['num_classes']).apply(y)
l2_normalized_logits = tf.keras.layers.Lambda(lambda x:tf.multiply(tf.math.l2_normalize(x), C)).apply(initial_logits)
gauss = tf.distributions.Normal(loc=0.0, scale=params['logit_noise'])
logits = tf.keras.layers.Lambda(lambda x: tf.add(x, gauss.sample(params['num_classes']))).apply(l2_normalized_logits)

但是使用Lambda层会得到非常奇怪的结果。

我正在使用tensorflow 1.12。

0 个答案:

没有答案