私はKerasに畳み込みオートエンコーダーを構築しようとしています。 stride> 1を設定するか、border_mode = 'valid'を設定しない限り、畳み込みレイヤーは入力と同じ出力ディメンションを持つという印象を受けました。ここに私のネットワークです畳み込みレイヤはKerasの出力の次元を減少させますか?
from keras.layers import Convolution2D, MaxPooling2D, UpSampling2D, Activation
from keras.models import Model, Sequential
model = Sequential()
model.add(Convolution2D(16, 3, 3, border_mode='same', input_shape=(1, 1920, 1080)))
model.add(Activation('relu'))
model.add(MaxPooling2D((2, 2), border_mode='same'))
model.add(Convolution2D(8, 3, 3, border_mode='same'))
model.add(Activation('relu'))
model.add(UpSampling2D((2, 2)))
model.add(Convolution2D(8, 3, 3, border_mode='same'))
model.add(Activation('relu'))
model.add(UpSampling2D((2, 2)))
model.compile(optimizer='adadelta', loss='binary_crossentropy')
最初の層の出力寸法を確認すると、y座標の長さが減少したように見えます。
>>>model.layers[0].output_shape
(None, 1, 1920, 16)
この原因は何ですか。私は16がどこから来ているのか分かりません。 1080と単純な関係はないようです。