Использование tf.keras.layers.Lambda дает неверные результаты - PullRequest
0 голосов
/ 21 июня 2019

Я определил нейронную сеть, используя 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.

Я использую tenorflow 1.12.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...