Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用LSTM进行序列分类,检查输入时出错_Python_Tensorflow_Machine Learning_Keras_Lstm - Fatal编程技术网

Python 使用LSTM进行序列分类,检查输入时出错

Python 使用LSTM进行序列分类,检查输入时出错,python,tensorflow,machine-learning,keras,lstm,Python,Tensorflow,Machine Learning,Keras,Lstm,我正在用LSTM构建我的第一个神经网络,我的输入大小有一个错误 我猜错误在于输入参数、尺寸、尺寸,但我无法理解错误 print df.shape data_dim = 13 timesteps = 13 num_classes = 1 batch_size = 32 model = Sequential() model.add(LSTM(32, return_sequences = True, stateful = True, batch_input_shape

我正在用LSTM构建我的第一个神经网络,我的输入大小有一个错误

我猜错误在于输入参数、尺寸、尺寸,但我无法理解错误

print df.shape

data_dim = 13
timesteps = 13
num_classes = 1
batch_size = 32

model = Sequential()
model.add(LSTM(32, return_sequences = True, stateful = True,
               batch_input_shape = (batch_size, timesteps, data_dim)))

model.add(LSTM(32, return_sequences = True, stateful = True))

model.add(LSTM(32, stateful = True))

model.add(Dense(1, activation = 'relu'))

#Compile.
model.compile(loss = 'binary_crossentropy', optimizer = 'adam', metrics = ['accuracy'])
model.summary()

#Fit.
history = model.fit(data[train], label[train], epochs = iteraciones, verbose = 0)

#Eval.
scores = model.evaluate(data[test], label[test], verbose = 0)

#Save.
cvshistory.append(history)
cvscores.append(scores[1] * 100)
形状:

(303, 14)

summary:
_________________________________________________________________
Layer (type)                 Output Shape              Param #   
=================================================================
lstm_19 (LSTM)               (32, 13, 32)              5888      
_________________________________________________________________
lstm_20 (LSTM)               (32, 13, 32)              8320      
_________________________________________________________________
lstm_21 (LSTM)               (32, 32)                  8320      
_________________________________________________________________
dense_171 (Dense)            (32, 1)                   33        
=================================================================
Total params: 22,561
Trainable params: 22,561
Non-trainable params: 0
_________________________________________________________________
错误输出告诉我以下信息:

---> 45   history = model.fit(data[train], label[train], epochs = iteraciones, verbose = 0)

ValueError: Error when checking input: expected lstm_19_input to have 3 dimensions, but got array with shape (226, 13)

LSTM需要输入形状
(批次大小、时间步长、特征大小)
。您只传递二维特征。由于
timesteps=13
您需要在输入中再添加一个维度

如果数据是numpy数组,则:
data=data[…,np.newaxis]
应该这样做


现在数据的形状将是
(批量大小、时间步长、特征)
即<代码>(226,13,1)

LSTM需要输入形状
(批次大小、时间步长、特征大小)
。您只传递二维特征。由于
timesteps=13
您需要在输入中再添加一个维度

如果数据是numpy数组,则:
data=data[…,np.newaxis]
应该这样做

现在数据的形状将是
(批量大小、时间步长、特征)
即<代码>(226,13,1)