【问题标题】:Finding weights for conv2d layer in Tensorflow在 Tensorflow 中查找 conv2d 层的权重
【发布时间】:2018-07-13 22:00:49
【问题描述】:

当谈到 tensorflow 中卷积层的形状时,我很困惑。

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

运行这条线会返回一个具有 4 个维度和一个偏差的内核。 我希望内核会返回我 [filter_width, filter_height, filter_number] 和一个带有权重的二维矩阵。相反,我有第四个维度,根本没有权重。

也许我不应该在我的脑海中将密集层与卷积层互换。然而,我在互联网上找到的大多数解释都停留在简单的层面上,而没有深入讨论 tensorflows 模型的细节。

所以对我来说最重要的是获得层之间边缘的相互关联的权重。就像在这张照片上看到的那样:

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

希望有人能跟着我理解的麻烦,否则不要犹豫添加cmets。

【问题讨论】:

  • 内核是 4 维的,这些区域是您想要的权重。究竟是什么问题?
  • 我只是不明白2层之间的图像值是如何累积的,内核的第4维的用途是什么。
  • 我不知道你说的“累积”是什么意思。过滤器/内核总是有 4 个维度,它们是(宽度、高度、filter_nr、通道)。您只是忘记了频道。
  • 但是我的图片只有一个频道。然而Kernel突然有16个以上?我还用一张图片更新了我的问题,所以很容易得到,累积的含义是什么。那些 -0.55 和 0.1 的权重在哪里?
  • 这些权重适用于全连接(密集)层,而不适用于卷积层(即 Conv2D)。

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


【解决方案1】:

过滤器/内核总是有 4 个维度,它们是(宽度、高度、filter_nr、通道)。 Channels 等于输入图像中的通道数,但对于网络中的后续层,可能会有所不同。

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

【讨论】:

    猜你喜欢
    • 2017-07-30
    • 1970-01-01
    • 2018-02-23
    • 2022-11-22
    • 2017-09-04
    • 2020-04-29
    • 1970-01-01
    • 2021-05-12
    • 2016-07-13
    相关资源
    最近更新 更多