python - 为什么在 ConvLSTM 中设置 return_sequence = False 时会出现错误?

标签 python machine-learning keras

我尝试通过附加三层 ConvLSTM 进行建模,但是当我在第一个 ConvLSTM 中设置 return_sequence = False 时,程序将无法运行。

查看模型摘要 Model summary

在第一个 ConvLSTM 层中设置 return_sequence = True 后模型运行,但如果我设置 return_sequence = False 程序将不会运行

ConvLSTM最后一层的第二部分,当return_sequence=False时,输出维度从5变为4,时间步维度消失,为什么会发生这种情况?

最佳答案

如果 return_sequence 为 true,则意味着 LSTM 层将返回输出的完整序列,而不仅仅是最终输出。所以下一层的输入仍然是时间序列,这也意味着下一层必须是RNN来处理时间序列。

如果 return_sequence 为 false,则意味着 LSTM 层将仅返回最终输出,该输出不再是时间序列。所以维度就会减少一。对于您的示例,它将从 5 更改为 4。并且由于下一层的输入不再是时间序列,因此下一层不能再是 RNN。

关于python - 为什么在 ConvLSTM 中设置 return_sequence = False 时会出现错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52921819/

相关文章:

python - 为什么 find_all 会报错,即使 just find 没有报错? ( python 美汤)

python - 使用 Plotly 和 Choropleth 绘制多边形

tensorflow - 如何使用功能来评估不用于训练模型的自定义 TensorFlow 指标

neural-network - 使用保留空间信息的 keras 从图像中预测 2D 矩阵

python - 我不能使用其他人的模型在生成器中生成我的输入。我该如何解决?

python - 比较 Swift 和 Python 字典对象

python - 如何按列分组并将其他列的值作为 pandas 中的列表返回?

python - 如何将多条曲线拟合到单个数据散点图?

machine-learning - 深度学习是否不擅长在训练范围之外拟合简单的非线性函数(外推)?

tensorflow - 使用 flow_from_dataframe y_col 的正确 "value"是什么