我正在研究3D空间数据的下一帧预测问题。这里讨论的是一些类似的,但针对2D数据的问题。基本上,我有一组随时间变化的3D图像,我试图建立一个模型来预测这些变化。
对于我的问题,我使用几个ConvLSTM3D层。输入数据是一个6DTensor:[批处理,时间帧,x_dimension,y_dimension,z_dimension,channels]。如果选项return_sequences设置为True,则ConvLSTM3D的输出形状为6D。这使得以后无法使用MaxPooling3D层,因为它将5D形状作为输入。
model.add(layers.ConvLSTM3D(filters=64,
kernel_size=(3, 3, 3),
padding='same',
return_sequences=True,
activation="tanh",
))
model.add(layers.MaxPooling3D(pool_size=(2,2,2)))
有什么办法来处理这个问题吗?是否只有当return_sequences=False时才能使用池层?
谢谢
1条答案
按热度按时间unftdfkk1#
抱歉,回答得太晚了。我想这也许能解决你的问题:
TimeDistributed跨所有时间步长并行执行所需操作。有关详细信息,请参见此处:https://www.tensorflow.org/api_docs/python/tf/keras/layers/TimeDistributed