2017-09-28 1 views
0
def weight_variable(shape, l2_reg_lambda=None, l1_reg_lambda=None): 
    regularizer = None 
    if l2_reg_lambda: 
     regularizer = tf.contrib.layers.l2_regularizer(l2_reg_lambda) 
    elif l1_reg_lambda: 
     regularizer = tf.contrib.layers.l1_regularizer(l1_reg_lambda) 
    return tf.get_variable('weight', shape, initializer=tf.random_normal_initializer(stddev=0.1), regularizer=regularizer) 


def bias_variable(shape): 
    return tf.get_variable('bias', shape, initializer=tf.constant_initializer(0.1)) 


def full_connect(inputs, num_units, activation=None, name='full_connect'): 
    with tf.variable_scope(name): 
    shape = [inputs.get_shape()[-1], num_units] 
    weight = weight_variable(shape) 
    bias = bias_variable(shape[-1]) 
    outputs = tf.matmul(inputs, weight) + bias 
    if activation=="relu": 
     outputs = tf.nn.relu(outputs) 
    elif activation == "tanh": 
     outputs = tf.tanh(outputs) 
    elif activation == "sigmoid": 
     outputs = tf.nn.sigmoid(outputs) 
    return outputs 

Ceci est ma couche de connexion complète. Et je l'utilise dans le graphique comme ça. Le poids, initialisé dans la variable weight_variable, s'initialisera-t-il à nouveau lorsque les données de lot suivantes entreront? Ou juste initialiser de la distribution normale aléatoire seulement à la première fois? Merci.Le poids s'initialisera-t-il à nouveau lorsque le lot suivant arrivera?

Répondre

1

L'initialisation des variables n'a rien de commun avec les données d'entrée.

Vos variables sont allouées et initialisées une fois le graphique construit. Après cela, le graphique est statique et ne changera pas. L'initialisation est faite une seule fois.

+1

L'étape d'initialisation de variable doit cependant être explicite. –

0

Les valeurs de variable existent uniquement dans la session (tf.Session()), pas sur le graphique. Tant que la session est maintenue entre les lots, les poids ne seront pas réinitialisés.

Comme E_net4 a commenté, une initialisation explicite est nécessaire au sein de la session.