最初の時点で同じtensorflow-R1.0プログラムを実行すると、私は私のプログラムを実行すると、私はエラーだ:別のエラー、私は二回
tensorflow.python.framework.errors_impl.FailedPreconditionError: Attempting to use uninitialized value noise_z/0__mnn/bias1
をしかし、私は再びそれを実行すると、エラーになった:
tensorflow.python.framework.errors_impl.FailedPreconditionError: Attempting to use uninitialized value noise_z/1__mnn/0weight_
変数名が異なることに注意してください。デバッグするのは非常に面倒です。私はなぜこれが起こり、どうすればそれを修正できるのだろうか?ここで
がエラーに関与コードです:with tf.variable_scope('noise_z'):
for noise_idx in range(num_noise):
noise = gaussian_sampler(mu_noise, var_noise, 1)
noise_vec = multi_layer_nn(noise, [dim_noise, 64, embedding_size], name=str(noise_idx)+'_')
noise_vecs.append(noise_vec)
def fully_con_layer(input_, fan_in, fan_out, name, initializer=tf.orthogonal_initializer()):
w = tf.get_variable(name+'_weight_', shape=[fan_in, fan_out], initializer=initializer)
b = tf.get_variable('bias'+name, [fan_out], initializer=tf.random_uniform_initializer())
return tf.nn.sigmoid(tf.matmul(input_, w)+b)
def multi_layer_nn(input_, num_unit_each_layer, name, initializer=tf.orthogonal_initializer()):
x = input_
num_layer = len(num_unit_each_layer)-1
for layer in range(num_layer):
with tf.variable_scope(name+'_'+"mnn"):
x = fully_con_layer(x, num_unit_each_layer[layer], num_unit_each_layer[layer+1], str(layer))
return x
再実行する前にグラフをリセットしますか? 'tf.reset_default_graph()' – TasosGlrs
@Tasosあなたの返信をありがとう!しかし、私は 'python xxx.py'でプログラムを実行します。もう一度実行するには、なぜこのコードをプログラムに挿入する必要がありますか? – southdoor
私はあなたがノートブックでそれを実行するかもしれないと思った。私はエラーが毎回異なる変数のためであることを参照してください。 'tf.initialize_all_variables()'を使うとどうなるでしょうか? – TasosGlrs