Python-LSTM输入中的RNN错误?

时间:2018-01-26 21:34:09

标签: python-3.x lstm rnn

我正在尝试建立一个基于LSTM RNN的深度学习网络 这是尝试的内容

from keras.models import Sequential
from keras.layers import Dense, Dropout, Activation
from keras.layers import Embedding
from keras.layers import LSTM
import numpy as np

train = np.loadtxt("TrainDatasetFinal.txt", delimiter=",")
test = np.loadtxt("testDatasetFinal.txt", delimiter=",")

y_train = train[:,7]
y_test = test[:,7]

train_spec = train[:,6]
test_spec = test[:,6]


model = Sequential()
model.add(LSTM(32, input_shape=(1415684, 8)))
model.add(LSTM(64, input_dim=1, input_length=1415684, return_sequences=True))

model.add(Dropout(0.5))
model.add(Dense(1))
model.add(Activation('sigmoid'))

model.compile(loss='binary_crossentropy', optimizer='rmsprop')

model.fit(train_spec, y_train, batch_size=2000, nb_epoch=11)
score = model.evaluate(test_spec, y_test, batch_size=2000)

但它让我得到以下错误

ValueError: Input 0 is incompatible with layer lstm_2: expected ndim=3, found ndim=2

以下是数据集

的示例

(患者编号,以毫秒为单位的时间,加速度计x轴,y轴,z轴,幅度,频谱图,标签(0或1))

1,15,70,39,-970,947321,596768455815000,0
1,31,70,39,-970,947321,612882670787000,0
1,46,60,49,-960,927601,602179976392000,0
1,62,60,49,-960,927601,808020878060000,0
1,78,50,39,-960,925621,726154800929000,0

在数据集中我只使用频谱图作为输入要素,标签(0或1)作为输出 总培训样本为1,415,684

0 个答案:

没有答案