【问题标题】:Image sequence processing ConvLSTM vs LSTM architecture in KerasKeras 中的图像序列处理 ConvLSTM 与 LSTM 架构
【发布时间】:2018-12-21 21:36:36
【问题描述】:

我需要训练一个基于序列的 10x10 图像分割。以下是我想使用的 lstm 和 convlstm 模型:

def lstmModel():
    # Model definition
    model = Sequential()
    model.add(LSTM(50, batch_input_shape=(1, None, inp.shape[1]*inp.shape[2]), return_sequences=True, stateful=True))
    model.add(Dense(out.shape[1]*out.shape[2], activation='softmax'))
    model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
    model.summary()
    return model


def convlstmModel():
    # Model definition
    model = Sequential()
    model.add(ConvLSTM2D(12, kernel_size=5, padding = "same", batch_input_shape=(1, None, inp.shape[1], inp.shape[2], 1), return_sequences=True, stateful=True))
    model.add(Conv2D(20, 3, padding='same', activation='softmax'))
    model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
    model.summary()
    return model

我为 10 个随机 10x10 图像序列的序列训练模型。 LSTM 模型对我来说似乎工作正常,但 ConvLSTM 模型显示 Conv2D 层的尺寸不匹配:

ValueError: Input 0 is incompatible with layer conv2d_1: expected ndim=4, found ndim=5

非常感谢任何帮助。谢谢!

【问题讨论】:

    标签: python tensorflow keras lstm keras-layer


    【解决方案1】:

    LSTM 图层用于“时间序列”。
    Conv 图层用于“静止图像”。

    需要像(batch, steps, features)这样的形状
    另一个要求:(batch, witdh, height, features)

    现在,ConvLSTM2D 混合了两者并需要 (batch, steps, width, height, features)

    离开ConvLSTM2D 时,您有一个Conv2D 不支持的额外steps 维度。

    如果您想保持这个维度,请使用带有TimeDistributed 包装器的卷积:

    model.add(TimeDistributed(Conv2D(...))
    

    请注意,与您的其他模型只有 3 个维度相比,您仍将拥有所有 5 个维度。

    您应该使用某种重塑或其他操作使其适合您的训练数据。

    由于您的问题没有显示任何相关信息,因此我们现在只能回答这些。

    【讨论】:

      【解决方案2】:

      错误消息暗示您的输入数据以 5 维而不是 4 维进入 conv2d 层。模型应接收形状类似的输入

      (samples, time, rows, cols, channels)
      

      假设您使用的是通道最后的后端 (tensorflow)。然后,(time,rows,cols,channels)的每一片都通过conv2d层一层一层的发送出去。但是,错误消息暗示传递的维度是 5 而不是预期的 4。验证输入数据的形状,如有必要,可以修改答案。

      【讨论】:

        猜你喜欢
        • 2023-01-24
        • 2019-05-26
        • 1970-01-01
        • 2019-02-26
        • 2018-03-14
        • 1970-01-01
        • 2018-04-04
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多