当我在张量流中得到卷积层的变量时,我得到了一个错误

时间:2016-12-10 02:32:21

标签: python tensorflow deep-learning

我想获得卷积层的变量并将其可视化。 然后我的代码是

d3 = de_conv(d2, weights2['wc2'], biases2['bc2'], out_shape=[batch_size , c2, c2, 128])
    d3 = batch_norm(d3, epsilon=1e-5, decay=0.9)
    d3 = tf.nn.relu(d3)

    tf.add_to_collection('weight_2', weights2['wc3'])

并在测试中

with tf.Session() as sess:

            saver.restore(sess , model_path)
            conv_weights = sess.run([tf.get_collection('weight_2')])
            #visualize the weights
            conv_weights = np.array(conv_weights)

            print(conv_weights.shape)
            vis_square(conv_weights)

但我不明白conv_weights有一个令人困惑的维度

(1, 1, 5, 5, 1, 128)

1 个答案:

答案 0 :(得分:0)

转化层的权重应为[filter height, filter width, input channels, number of filters (output channels]。除了前两个尺寸,您的重量适合。它只包含在两个列表中吗?例如。 [[weights]]而非weights