【问题标题】:Multi channel Convolutional neural network - negative dimension size error多通道卷积神经网络 - 负维度尺寸误差
【发布时间】:2020-05-22 04:06:18
【问题描述】:

我要设计,多通道 CNN。

我在第一个 Conv2d 步骤中收到一条错误消息。 (图中,第一层到第二层)

我的代码如下所示

_concat_embeded = keras.layers.concatenate([_embeding1, _embeding2], axis= -1)
_biCH_embeded = keras.layers.Reshape((2, self.lexicalMaxLength, charWeights.shape[1]))(_concat_embeded)
_1stConv = keras.layers.Conv2D(filters=512, kernel_size=(5, charWeights.shape[1]),
                               activation=tf.nn.relu)(_biCH_embeded)

_biCH_embeded 的形状是 [? 2, 131 ,131](我的嵌入有 131 维 = charWeights.shape[1])

我想生成 512 个具有 (5, 131) 形状的过滤器。

然后,我收到一条消息,“从 2 中减去 5 导致的负维度大小为 'conv2d_1/convolution' (op: 'Conv2D') 输入形状:[?,2,33,131], [5,131,131,512] "

问题出在哪里?

【问题讨论】:

标签: python keras conv-neural-network python-3.6


【解决方案1】:

我发现了问题。

我用“channel_first”规则(2、133、133)重塑了我的张量

但我的 Keras 配置是由“channel_last”设置的

我将重塑规则更改为“channel_last”(133,133,2),现在正在运行训练。

(如果要更改 Keras 配置,请查看“~/.keras/keras.json”)

【讨论】:

    猜你喜欢
    • 2015-02-27
    • 2021-12-15
    • 2017-07-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-10
    • 2017-03-18
    • 2018-06-07
    相关资源
    最近更新 更多