2017-10-18 9 views
1

Lors de l'exécution ce morceau de code (première couche de convolution dans le modèle tensorflow):tensorflow, TypeError: random_normal() a un argument de mot-clé inattendu 'partition_info'

conv2d_layer_one = tf.contrib.layers.convolution2d(
    float_image_batch, 
    num_outputs = 32, 
    kernel_size = (5, 5), 
    activation_fn=tf.nn.relu, 
    weights_initializer = tf.random_normal, 
    stride =(2, 2), 
    trainable= True 
) 

Je reçois cette erreur:

TypeError: random_normal() got an unexpected keyword argument 'partition_info' 

La fonction tf.random_normal ne prend aucun argument tel que partition_info, donc je suis un peu confus pour savoir pourquoi cette erreur est apparue. J'ai supprimé l'argument weights_initializer et l'erreur disparaît.

Si je le réintroduis, l'erreur semble réapparaître.

Répondre

1

Ajouter cette définition de fonction avant que la fonction de convolution:

from tensorflow.python.ops import random_ops 

def _initializer(shape, dtype=tf.float32, partition_info=None): 
    return random_ops.random_normal(shape) 

Et il suffit d'appeler _initializer au lieu de tf.random_normal.