ValueError:输入0与层lstm_13不兼容:预期ndim = 3,找到的ndim = 4 [英] ValueError: Input 0 is incompatible with layer lstm_13: expected ndim=3, found ndim=4

查看:119
本文介绍了ValueError:输入0与层lstm_13不兼容:预期ndim = 3,找到的ndim = 4的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试进行多类别分类,这是我的训练输入和输出的详细信息:

I am trying for multi-class classification and here are the details of my training input and output:

train_input.shape =(1,95000,360)(每个95000长度的输入数组 元素是360个长度的数组)

train_input.shape= (1, 95000, 360) (95000 length input array with each element being an array of 360 length)

train_output.shape =(1,95000,22)(有22个课程)

train_output.shape = (1, 95000, 22) (22 Classes are there)

model = Sequential()

model.add(LSTM(22, input_shape=(1, 95000,360)))
model.add(Dense(22, activation='softmax'))
model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'])
print(model.summary())
model.fit(train_input, train_output, epochs=2, batch_size=500)

错误是:

ValueError:输入0与lstm_13层不兼容:预期的ndim = 3,找到的ndim = 4 排队: model.add(LSTM(22,input_shape =(1,95000,360)))

ValueError: Input 0 is incompatible with layer lstm_13: expected ndim=3, found ndim=4 in line: model.add(LSTM(22, input_shape=(1, 95000,360)))

请帮助我,我无法通过其他答案解决.

Please help me out, I am not able to solve it through other answers.

推荐答案

我通过制作

输入大小:(95000,360,1)和 输出大小:(95000,22)

input size: (95000,360,1) and output size: (95000,22)

,然后在定义模型的代码中将输入形状更改为(360,1):

and changed the input shape to (360,1) in the code where model is defined:

model = Sequential()
model.add(LSTM(22, input_shape=(360,1)))
model.add(Dense(22, activation='softmax'))
model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'])
print(model.summary())
model.fit(ml2_train_input, ml2_train_output_enc, epochs=2, batch_size=500)

这篇关于ValueError:输入0与层lstm_13不兼容:预期ndim = 3,找到的ndim = 4的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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