2
$\begingroup$

I have time series grey scale images that show movement of fluid with different densities. I want to predict a pixel value for time t, with (t-3),(t-2),(t-1) 2D images as inputs.

I am figuring out how to use what layers. This is my current basic configuration. I believe this can be vastly improved.

model = Sequential()

model.add(TimeDistributed(Conv2D(16, (3,3), padding="same", activation='relu'), input_shape=training_input_nparray[0].shape))
model.add(TimeDistributed(MaxPooling2D(pool_size=(2, 2))))

model.add(TimeDistributed(Conv2D(32, (3,3), padding="same", activation='relu')))
model.add(TimeDistributed(MaxPooling2D(pool_size=(2, 2))))

model.add(TimeDistributed(Conv2D(64, (3,3), padding="same", activation='relu')))
model.add(TimeDistributed(MaxPooling2D(pool_size=(2, 2))))

model.add(TimeDistributed(GlobalAveragePooling2D()))
model.add(LSTM(1024, activation='relu', return_sequences=False))

model.add(Dense(1, activation='linear'))
model.compile('adam', loss='mean_squared_error')

Any help would be greatly appreciated. Thanks in advance :)

Training input array and output array shapes: (1785, 3, 180, 206, 1) (1785, 1)

$\endgroup$