【问题标题】:Time series image and prediction: CNN-LSTM or ConvLSTM时间序列图像和预测:CNN-LSTM 或 ConvLSTM
【发布时间】:2023-01-24 02:29:24
【问题描述】:

例如,我有三个时间序列年份(2020、2021、2022)的 5 个位置(a、b、c、d、e)的一系列图像(MSL-5 波段图像)。所以我总共有 15 张图像,用于 5 个位置和 3 年。我已经将 3 年的图像堆叠成 5 个位置的图像。然后我的样本大小为 5(5 个位置),我得到的图像维度为(224、224、15)。此处注意:图像宽度 = 224,图像高度 = 224,并且对于 5 个波段图像和 3 个不同的年份,因为堆叠通道是 (3x5)=15。 我有这 3 个位置的温度数据集。 我还将它们分为训练(3个位置数据),测试(2个位置数据) 现在我想根据图像预测温度,并想使用 2DCNN-LSTM 或 Conv2D-LSTM 之类的东西。我不确定这个的实际模型是什么?输入形状是什么,这个模型的代码是什么。如果有人可以在这方面帮助我。请帮我。

如果有人可以在这方面帮助我。请帮我。

【问题讨论】:

  • 您可以使用任何常见的 ML 框架(PyTorch、Keras 等)。但是如果你想训练一个只有 9 个图像的 CNN,如果温度不是微不足道的计算,不要指望得到好的结果。
  • 样本量只是一个例子,但我的样本量可以是(3年x20个位置=60)用于训练和(3年x10个位置=30)用于测试。如果我使用以下代码,它是否正确,或者对温度预测精度有何建议?
  • model = Sequential() model.add(ConvLSTM2D(filters=64, kernel_size=(3,3), activation='relu', padding='same', return_sequences=True, input_shape=(224, 224, 5,5) )) model.add(BatchNormalization()) model.add(ConvLSTM2D(32, kernel_size=(3, 3), activation = 'relu', padding='same', return_sequences=True)) model.add(BatchNormalization() ) model.add(Dropout(0.25)) model.add(Flatten()) model.add(Dense(1, activation='linear')) model.summary()
  • 请使用您的(格式化的)代码示例更新您的问题。这将增加您获得有意义答案的机会。

标签: python


【解决方案1】:
model = Sequential()
model.add(ConvLSTM2D(filters=64, kernel_size=(3,3), activation='relu', padding='same', return_sequences=True, input_shape=(224, 224, 5, 5)))
model.add(BatchNormalization())
model.add(ConvLSTM2D(32, kernel_size=(3, 3), activation = 'relu', padding='same', return_sequences=True))
model.add(BatchNormalization())
model.add(Dropout(0.25))
model.add(Flatten())
model.add(Dense(1, activation='linear'))
model.summary()

【讨论】:

    猜你喜欢
    • 2018-09-22
    • 2018-11-16
    • 1970-01-01
    • 1970-01-01
    • 2021-09-08
    • 1970-01-01
    • 2018-12-21
    • 2020-03-03
    • 2018-10-07
    相关资源
    最近更新 更多