猿问

在 Keras 相关模型中更改输入层大小

我在 Keras 中使用 Inception 模型和图像网络的预训练权重。


问题在于,根据 Keras 文档,此模型的默认输入大小为 299x299。虽然我的图像是 230 * 350,但我不想调整它们的大小,因为它会扭曲图像。所以我试图找到一种改变输入层大小的方法。


下面是我到目前为止尝试过的代码,但是我怀疑是否保留了图像净重,因为我认为更改输入大小时架构会发生变化。


有任何想法吗 ..


input = Input(shape=(230, 350, 3), name='image_input')

base_model = InceptionV3(weights='imagenet', include_top=False, input_tensor=input)


x = base_model.output

x = GlobalAveragePooling2D()(x)

x = Dense(64, activation='relu')(x)

predictions = Dense(1, activation='sigmoid')(x)


model = Model(inputs=input, outputs=predictions)


for layer in base_model.layers:

    layer.trainable = True


model.compile(loss='binary_crossentropy',

              optimizer=Adam(lr=0.0001),

              metrics=['accuracy'])


汪汪一只猫
浏览 476回答 1
1回答

人到中年有点甜

Inception V3 是一个完全卷积的模型。您在卷积编码器的顶部使用全局池化,因此与 299x299 的轻微偏差应该不是什么大问题。如果您的代码没有错误消息,那么像这样使用它肯定没问题。
随时随地看视频慕课网APP

相关分类

Python
我要回答