与numpy.random.normal等价的Tensorflow



我试图在Keras预训练图像中为每个激活层的输出添加高斯噪声。我在每个激活层之后插入一个自定义层。在这个自定义层中,我想用stddev添加一个高斯噪声作为输入张量的百分比。在numpy中,如果我有一个stddev矩阵stddev_dist,我将生成随机高斯噪声

guass_noise = np.random.normal(scale = stddev_dist, size=stddev_dist.shape) 

如何在自定义层中对输入张量进行等效。stddev_dist_张量= tf.abs(input) * 0.02 (stddev= 2%的input张量)

谁能帮助stddev_dist_张量生成高斯噪声?

keras层间高斯噪声的可能解决方案

import tensorflow as tf
stddev=0.02
input_layer = tf.keras.layers.InputLayer(input_shape=(128,128,3))
gaus        = tf.keras.layers.GaussianNoise(stddev,name='output')(input_layer)
model       = tf.keras.models.Model(inputs=input_layer, outputs=gaus)

最新更新