Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/329.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_Keras_Lstm - Fatal编程技术网

Python 如何解决LSTM中关闭返回序列后的尺寸问题?

Python 如何解决LSTM中关闭返回序列后的尺寸问题?,python,keras,lstm,Python,Keras,Lstm,我是Keras的初学者,希望修改此代码。但是,我得到了一个关于输出维度的错误 这是工作正常的代码的一部分: model.add(LSTM(64,return_sequences=True,input_shape=(tr_in.shape[1],tr_in.shape[2]))) model.add(Dense(1, activation='linear')) model.compile(loss='mse', optimizer='adam') model.fit(tr_in, tr_out,

我是Keras的初学者,希望修改此代码。但是,我得到了一个关于输出维度的错误

这是工作正常的代码的一部分:

model.add(LSTM(64,return_sequences=True,input_shape=(tr_in.shape[1],tr_in.shape[2])))
model.add(Dense(1, activation='linear'))

model.compile(loss='mse', optimizer='adam')
model.fit(tr_in, tr_out,validation_data=(val_in, val_out))
培训和验证输入和输出矩阵为3D。 我想关闭“返回序列”。但我得到一个错误如下:

ValueError:检查目标时出错:预期密集_3有2个 维度,但得到了形状为(100,16,1)的数组


我相信,当您将return_序列从True更改为False时,您正在将LSTM层的输出减少为二维-尤其是在处理所有时间步结束时只有一个输出。由于“目标”数据(tr_out)是3D的,因此这与拟合所期望的结果相冲突。我相信return_sequences=True每个时间步输出一个结果,在您的示例中,每个样本有16个时间步。我认为当return\u sequences=False时,您需要使tr\u out维度匹配(变成2D)。我希望这会有所帮助。

我可能有点误解,但您可能会使用常规python/numpy处理创建一个子集,如:y_train\u sub=np.squence(y_train[:,-1,:])或类似的东西,具体取决于y目标数据的含义。我希望这有帮助。