这是我的代码:
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)
我运行我的代码,我初始化了值,出了点问题,我不知道为什么,以及如何处理它。这是我第二次运行代码,我只是添加了一些东西,但卷积层没有改变任何东西。是另一个代码的问题吗?
答案 0 :(得分:0)
我怀疑对conv2d
的调用是添加更多变量。如果您的代码段中的conv2d
是tf.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帮助。