在Tensorflow中查找conv2d层的权重

时间:2018-07-13 12:09:29

标签: python tensorflow neural-network conv-neural-network

对于张量流中的卷积层的形状,我感到很困惑。

kernels = tf.get_collection(tf.GraphKeys.GLOBAL_VARIABLES, "conv1d(_.)?/kernel:0")

运行此行将返回一个具有4维和偏差的内核。 我期望内核会返回我[filter_width,filter_height,filter_number]和带有权重的2D矩阵。相反,我有第四个维度,根本没有重量。

也许我不应该在脑海中交换密集的卷积层。但是,我在Internet上找到的大多数解释都停留在一个简单的水平上,而无需深入研究tensorflows模型的细节。

所以对我来说最重要的是获取各层之间的边缘的相互连接的权重。就像在这张图片上看到的一样:

enter image description here

此链接与我的问题有关:Something I want from Tensorflow

我希望有人可以跟随我的理解,否则不要犹豫添加评论。

1 个答案:

答案 0 :(得分:0)

过滤器/内核始终具有4个维度,即(宽度,高度,filter_nr,通道)。通道数等于输入图像中的通道数,但是对于网络中的更高层,它可能有所不同。

您要求的权重是针对完全连接的(密集)层,而不是卷积层(Conv2D是卷积层)。