Conv2D+LSTM网络出现错误 [英] Conv2D + LSTM network giving errors

查看:28
本文介绍了Conv2D+LSTM网络出现错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个名为charMatrixList的矩阵列表,长度为40744。我将此列表转换为numpy数组,形状变为(40744,32,30)。此数字数组作为输入传递给神经网络。

当作为输入传递到LSTM层时,我收到的错误与Conv2D层输出的形状有关。

from keras.models import Sequential 
from keras.layers import Embedding,LSTM,Flatten,Conv2D,Reshape
import numpy as np


def phase22(charMatrixList ):
    model = Sequential()
    model.add(Conv2D(32, (3, 3), strides=(1,1) , padding="same",               activation="relu",input_shape=(40744,32,30)))
    model.add(LSTM(16, return_sequences=True))
    model.add(LSTM(16, return_sequences=True))
    model.add(Flatten())
    model.compile('rmsprop', 'mse')
    input_array = charMatrixList
    model.compile('rmsprop', 'mse')
    output_array = model.predict(input_array)
    return output_array

p2out = phase22(charMatrixList)

我收到以下错误:

Traceback (most recent call last):

  File "<ipython-input-56-f615f91b6704>", line 1, in <module>
    p2out = phase22(np.array(charMatrixList) )

  File "<ipython-input-55-9a4fd292a04f>", line 4, in phase22
    model.add(LSTM(16, return_sequences=True))

  File "C:UsersKishoreAnaconda3libsite-packageskerasenginesequential.py", line 185, in add
    output_tensor = layer(self.outputs[0])

  File "C:UsersKishoreAnaconda3libsite-packageskeraslayers
ecurrent.py", line 500, in __call__
    return super(RNN, self).__call__(inputs, **kwargs)

  File "C:UsersKishoreAnaconda3libsite-packageskerasenginease_layer.py", line 414, in __call__
    self.assert_input_compatibility(inputs)

  File "C:UsersKishoreAnaconda3libsite-packageskerasenginease_layer.py", line 311, in assert_input_compatibility
    str(K.ndim(x)))

ValueError: Input 0 is incompatible with layer lstm_11: expected ndim=3, found ndim=4

推荐答案

Kera在定义输入大小时会忽略第一个维度,因为这只是训练示例的数量,m.Kera可以处理任何m,因此它只关心实际的输入维度。这就是为什么Kears将(40744,32,30)视为4个维度。

我被您输入的维度搞糊涂了,40744是训练示例的数量吗?如果是,则DO INPUT_SIZE=(32,30)。

如果您的输入有3个维度,请在您的输入中包含训练示例的数量,即。charMatrixList=(m,40744,32,30)

这篇关于Conv2D+LSTM网络出现错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆