Python 用Lambda函数在输入端加入衰减高斯噪声的Tensorflow

Python 用Lambda函数在输入端加入衰减高斯噪声的Tensorflow,python,function,tensorflow,lambda,noise,Python,Function,Tensorflow,Lambda,Noise,我试图将高斯噪声添加到随时间衰减的输入中。一个明显的方法是,在我将输入输入输入到模型中之前,根据当前历元生成噪声。例如: for i in range(1, epochs+1): # Generating noise that decays over the time. noise = tf.random.normal(shape=inputs.shape, mean=0.0, stddev=1/i) # Adding the noise to inputs.

我试图将高斯噪声添加到随时间衰减的输入中。一个明显的方法是,在我将输入输入输入到模型中之前,根据当前历元生成噪声。例如:

for i in range(1, epochs+1):
    # Generating noise that decays over the time.
    noise = tf.random.normal(shape=inputs.shape, mean=0.0, stddev=1/i)

    # Adding the noise to inputs.
    inputs += noise

    model.train_on_batch(inputs, targets)
然而,我最近发现tensorflow已经带有高斯噪声层:

tf.keras.layers.GaussianNoise(
     stddev, **kwargs
)
但stddev值似乎是固定的。有没有办法将lambda函数添加到stddev参数?例如,类似这样的事情:

def get_stddev(i, max_epochs):
     return i / max_epochs

i = 1
model = Sequential()
model.add(GaussianNoise(stddev=lambda: get_stddev(i, 50)))
...
...
return model
在培训期间:

for i in range(1, 50):
    model.train_on_batch(inputs, targets)
在模型编译时,tensorflow在训练开始时指出,高斯噪声层期望tf.Float32,但得到了lambda函数。我有没有别的办法可以这样做

提前谢谢