import keras
from keras.models import Sequential, Model
from keras.layers import Dense, Dropout, Flatten, LSTM, ConvLSTM2D, Activation, Reshape, Input, Concatenate, concatenate
from keras.layers import Conv2D, MaxPooling2D, AveragePooling2D, ZeroPadding2D
from keras.layers.normalization import BatchNormalization
from keras import backend as K
i = Input(shape=(1, 256, 256))
c0 = Conv2D(7, kernel_size=3, activation="relu", padding="same", strides=1)
m0 = MaxPooling2D(pool_size=3, padding="same", strides=2)
c1 = Conv2D(7, kernel_size=7, activation="relu", padding="same", strides=2)
l = i
l = c0(l)
l = m0(l)
l = c1(l)
m = Model(inputs=[i], outputs=[l])
m.compile(
loss=keras.losses.mean_squared_error,
optimizer=keras.optimizers.Adadelta()
)
print(m.summary())
Issue by @timprepscius (Initially created at - https://github.com/apache/incubator-mxnet/issues/12221)
results in:
(The output sized changes when stride is not 1, even though padding was "same")
I think it should result in:
But I could be wrong of course.