使用未初始化值的张量流

时间:2017-05-23 16:09:17

标签: python tensorflow neural-network init tensor

这是我的代码:

DbFunctions.TruncateTime()

错误是:

W_conv1 = tf.Variable(tf.truncated_normal([3,3,3,21], stddev=0.1), name = 'W')
b_conv1 = tf.Variable(tf.constant(0.1, shape=[21]))
W_conv2 = tf.Variable(tf.truncated_normal([3,3,21,63], stddev=0.1), name = 'W')
b_conv2 = tf.Variable(tf.constant(0.1, shape=[63]))

sess = tf.Session()
init = tf.global_variables_initializer()
init_lo = tf.local_variables_initializer()
sess.run(init_lo)
sess.run(init)

h_conv1 = tf.nn.relu(conv2d(x_, W_conv1) + b_conv1) 
h_conv2 = tf.nn.relu(conv2d(h_conv1, W_conv2) + b_conv2)
sess.run(h_conv2)

我运行我的代码,我初始化了值,出了点问题,我不知道为什么,以及如何处理它。这是我第二次运行代码,我只是添加了一些东西,但卷积层没有改变任何东西。是另一个代码的问题吗?

1 个答案:

答案 0 :(得分:0)

我怀疑对conv2d的调用是添加更多变量。如果您的代码段中的conv2dtf.layers.conv2d的简写,那么就是这种情况。

您希望在定义变量后初始化所有变量,例如:

W_conv1 = tf.Variable(tf.truncated_normal([3,3,3,21], stddev=0.1), name = 'W')
b_conv1 = tf.Variable(tf.constant(0.1, shape=[21]))
W_conv2 = tf.Variable(tf.truncated_normal([3,3,21,63], stddev=0.1), name = 'W')
b_conv2 = tf.Variable(tf.constant(0.1, shape=[63]))

sess = tf.Session()


h_conv1 = tf.nn.relu(conv2d(x_, W_conv1) + b_conv1) 
h_conv2 = tf.nn.relu(conv2d(h_conv1, W_conv2) + b_conv2)

init = tf.global_variables_initializer()
init_lo = tf.local_variables_initializer()
sess.run(init_lo)
sess.run(init)

sess.run(h_conv2)

Holpe帮助。