Я не понимаю, почему измерение канала не включено в выходное измерение слоя conv2D в Keras.
У меня есть следующая модель
def create_model():
image = Input(shape=(128,128,3))
x = Conv2D(24, kernel_size=(8,8), strides=(2,2), activation='relu', name='conv_1')(image)
x = Conv2D(24, kernel_size=(8,8), strides=(2,2), activation='relu', name='conv_2')(x)
x = Conv2D(24, kernel_size=(8,8), strides=(2,2), activation='relu', name='conv_3')(x)
flatten = Flatten(name='flatten')(x)
output = Dense(1, activation='relu', name='output')(flatten)
model = Model(input=image, output=output)
return model
model = create_model()
model.summary()
Краткое описание модели приведено в конце моего вопроса. Входной слой принимает изображения RGB с шириной = 128 и высотой = 128. Первый слой conv2D сообщает мне, что выходной размер равен (Нет, 61, 61, 24). Я использовал размер ядра (8, 8), шаг (2, 2) без заполнения. Значения 61 = floor ((128 - 8 + 2 * 0) / 2 + 1) и 24 (количество ядер / фильтров) имеют смысл. Но почему измерение для разных каналов не включено в измерение? Насколько я вижу, параметры для 24 фильтров на каждом из каналов включены в число параметров. Таким образом, я ожидаю, что выходное измерение будет (Нет, 61, 61, 24, 3) или (Нет, 61, 61, 24 * 3). Это просто странная запись в Керасе или я запутался в другом?
