Я нахожусь на tenorflow 2.2.0r c и заметил некоторые различия между реализацией InceptionV3 внутри tf.keras.applications.inception_v3.InceptionV3
и бумагой, которую он реализует: начальная бумага .
Специально первые два начальных модуля должны быть
Но это реализовано так:
branch1x1 = conv2d_bn(x, 64, 1, 1)
# Shouldnt this be
# branch3x3 = conv2d_bn(x, 48, 1, 1)
# branch3x3 = conv2d_bn(branch3x3, 64, 3, 3)
branch5x5 = conv2d_bn(x, 48, 1, 1)
branch5x5 = conv2d_bn(branch5x5, 64, 5, 5)
branch3x3dbl = conv2d_bn(x, 64, 1, 1)
branch3x3dbl = conv2d_bn(branch3x3dbl, 96, 3, 3)
branch3x3dbl = conv2d_bn(branch3x3dbl, 96, 3, 3)
branch_pool = layers.AveragePooling2D(
(3, 3), strides=(1, 1), padding='same')(x)
branch_pool = conv2d_bn(branch_pool, 32, 1, 1)
x = layers.concatenate([branch1x1, branch5x5, branch3x3dbl, branch_pool],
axis=channel_axis,
name='mixed0')
Не должно ли branch5x5
на самом деле быть branch3x3
?