Python 如何向Keras中的输入数据添加均匀分布的噪声?

Python 如何向Keras中的输入数据添加均匀分布的噪声?,python,keras,noise,uniform-distribution,Python,Keras,Noise,Uniform Distribution,我需要在输入数据中添加量化噪声。我经常读到,这些噪声被建模为均匀分布的噪声 我有一个用Keras实现的编码/解码网络(输入数据是时间序列原始数据),Keras中有一个层可以添加高斯噪声(GaussianNoise层),我可以使用这个层来创建均匀噪声吗 如果没有,我是否可以使用其他实现的层?您可以创建自己的层 将tensorflow导入为tf 类noiseLayer(tf.keras.layers.Layer): 定义初始值(自身、平均值、标准值): super(noiseLayer,self)。

我需要在输入数据中添加量化噪声。我经常读到,这些噪声被建模为均匀分布的噪声

我有一个用Keras实现的编码/解码网络(输入数据是时间序列原始数据),Keras中有一个层可以添加高斯噪声(GaussianNoise层),我可以使用这个层来创建均匀噪声吗


如果没有,我是否可以使用其他实现的层?

您可以创建自己的层

将tensorflow导入为tf
类noiseLayer(tf.keras.layers.Layer):
定义初始值(自身、平均值、标准值):
super(noiseLayer,self)。\uuuu init\uuuuu()
self.mean=平均值
self.std=std
def呼叫(自我,输入):
中庸
std=self.std
返回input+tf.random.normal(tf.shape(input.numpy(),
平均数,
STDEV=std)
X=tf.ones([10,10,10])*100
Y=噪声层(平均值=0,标准值=0.1)(X)

这段代码适用于最新的Tensorflow 2.0。

我正在尝试将泊松噪声添加到我的数据增强层。我已经像上面一样定义了这个类,但是当我这样做时:data_augmentation=keras.Sequential([keras.layers.experimental.preprocessing.RandomFlip(),noiseLayer(mean=1)(x)],name='DataAugm')我得到了一个错误:添加的层必须是类层的实例。找到:Tensor(“noise\u layer\u 7/Identity:0”,shape=(None,29,29,1),dtype=float32)您能帮忙吗?尝试删除“(x)”您不应该在keras.Sequential中运行函数