Как добавить шум с равномерным распределением для входных данных в Keras? - PullRequest
0 голосов
/ 21 октября 2019

Мне нужно добавить шум квантования к моим входным данным. Я читаю часто, эти виды шумов моделируются как шум с равномерным распределением.

У меня есть сеть кодирования / декодирования, реализованная с помощью Keras (входные данные - необработанные данные временных рядов), в Keras реализован слой, с помощью которого можно добавлять гауссов шум (слой GaussianNoise), могу ли я использовать этот слойсоздать равномерный шум?

Если нет, есть ли другие реализованные слои, которые я могу использовать?

1 Ответ

0 голосов
/ 21 октября 2019

Вы можете создать свой собственный слой как таковой,

import tensorflow as tf

class noiseLayer(tf.keras.layers.Layer):

    def __init__(self,mean,std):
        super(noiseLayer, self).__init__()
        self.mean = mean
        self.std  = std

    def call(self, input):

        mean = self.mean
        std  = self.std

        return input + tf.random.normal(tf.shape(input).numpy(), 
                                    mean = mean,
                                    stddev = std)

X = tf.ones([10,10,10]) * 100
Y = noiseLayer(mean = 0, std = 0.1)(X)

Этот код работает в последней версии Tensorflow 2.0.

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