【问题标题】:Keras Conv 3d Error layer conv3d is incompatible with the layerKeras Conv 3d 错误层 conv3d 与层不兼容
【发布时间】:2021-03-13 21:27:03
【问题描述】:

我正在尝试为 mnist 手写数据集创建一个卷积神经网络,但我的代码有问题:

initWeight = initializers.RandomNormal(stddev = 0.0025)

initBias = initializers.Constant(0.1)

model = models.Sequential()

model.add(layers.Conv2D(25, (12,12), activation='relu', strides = 2,
                        padding = "valid", input_shape=(28, 28, 1),
                        kernel_initializer= initWeight,
                        bias_initializer=initBias))

model.add(layers.Conv3D(64, (5,5,25), activation='relu',
                        padding = "same",
                        kernel_initializer= initWeight,
                        bias_initializer=initBias))

model.summary()

我得到了错误

ValueError: Input 0 of layer conv3d is incompatible with the layer: : expected min_ndim=5, found ndim=4. Full shape received: [None, 9, 9, 25]

但我不完全确定问题出在哪里,我想在 2d 之后创建一个层,该层使用 5x5x25 的内核大小创建 64 个过滤器。

【问题讨论】:

    标签: python-3.x tensorflow machine-learning keras


    【解决方案1】:

    我想我明白了你想要做什么。假设张量采用channel last 格式。对于Conv2D 层,可接受的输入是 4 维的,即(batch_size, width, height, number_of_channels)。因此,对于Conv3D,同样,该层将接受一个 5 维张量。

    从第一层Conv2D 开始,您将获得形状为(batch_size, 9, 9, 25) 的输出。 batch_size 将显示为 None 因为在我们给它数据之前它仍然不知道批量大小。或者,换句话说,它可以采用任何批量大小。

    但无论如何,重点是,尽管Conv2D 正在返回具有25 通道的输出,但您无需明确提及下一层中的每个 filters' 通道数(可能这就是你错误地使用 3D 卷积的原因)。但现实情况是,该框架已经被设计为为每个过滤器(在下一层)获取确切的通道数(25),以便它们可以匹配其输入(第一个 Conv2D 的输出)通道数' 计数。

    所以将Conv3D 替换为以下Conv2D

    model.add(layers.Conv2D(64, (5,5), activation='relu',
                            padding = "same",
                            kernel_initializer= initWeight,
                            bias_initializer=initBias))
    

    这实际上将采用64 过滤器,并且每个过滤器的形状都是(5, 5, 25)。虽然我们没有提到25,但它会自动这样做,以匹配其输入的通道数。

    【讨论】:

    • 非常感谢 - 这很有意义,也是一个非常有用的答案(对不起,我是在 python 中做机器学习的新手)
    猜你喜欢
    • 2021-03-16
    • 1970-01-01
    • 1970-01-01
    • 2016-09-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-08
    • 1970-01-01
    相关资源
    最近更新 更多