un bruit Gaussien additif dans Tensorflow
Je suis en train d'ajouter un bruit Gaussien d'une couche de mon réseau de la manière suivante.
def Gaussian_noise_layer(input_layer, std):
noise = tf.random_normal(shape = input_layer.get_shape(), mean = 0.0, stddev = std, dtype = tf.float32)
return input_layer + noise
J'obtiens le message d'erreur:
ValueError: Impossible de convertir une partie connus TensorShape à un Tenseur:
(?, 2600, 2000, 1)
Mon minibatches besoin pour être de tailles différentes parfois, de sorte que la taille de la input_layer tenseur ne sera pas connu avant le moment de l'exécution.
Si je comprends bien, quelqu'un répond à Impossible de convertir partiellement convertie tenseur dans TensorFlow suggéré de définir la forme de tf.forme(input_layer). Cependant, lorsque j'essaie d'appliquer une convolution de la couche pour que bruyant couche, je reçois un autre message d'erreur:
ValueError: assombrit de forme doit être connue, mais n'est
Quelle est la bonne façon d'atteindre mon objectif de l'ajout de bruit Gaussien de la couche d'entrée, d'une forme inconnue jusqu'à ce que le temps d'exécution?
Vous devez vous connecter pour publier un commentaire.
Dynamiquement pour obtenir la forme d'un tenseur dont on ignore les dimensions dont vous avez besoin pour utiliser
tf.shape()
Par exemple