gpt4 book ai didi

python - 当我运行同一个 tensorflow-r1.0 程序两次时出现不同的错误

转载 作者:太空宇宙 更新时间:2023-11-04 05:10:20 25 4
gpt4 key购买 nike

第一次运行我的程序时出现错误:

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.global_variables_initializer()sess.run(init_op)(正如您在评论中所说的那样),变量函数中定义的不会被初始化。在定义所有变量后,您必须运行 sess.run(init_op)

关于python - 当我运行同一个 tensorflow-r1.0 程序两次时出现不同的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43158350/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com