如果我将输入大小设置为32,32 mnist会发生什么

问题描述 投票:0回答:1

我想在VGG16上训练MNIST。

MNIST图像大小为28 * 28,我在keras VGG16中将输入大小设置为32 * 32。当我训练时,我得到了很好的指标,但我不确定究竟发生了什么。 keras是用空的空间填充还是图像被线性扩展,就像在缩放功能中一样?任何人都知道如何在60个时代后获得+ 95%的测试精度?

在这里我定义目标大小:

    target_size = (32, 32)

这是我定义flow_from_dataframe生成器的地方:

train_df = pd.read_csv("cv1_train.csv", quoting=3)

train_df_generator = train_image_datagen.flow_from_dataframe(
    dataframe=train_df,
    directory="../../../MNIST",
    target_size=target_size,
    class_mode='categorical',
    batch_size=batch_size,
    shuffle=False,
    color_mode="rgb",
    classes=["zero","one","two","three","four","five","six","seven","eight","nine"]
) 

在这里我定义我的输入大小:

model_base = VGG16(weights=None, include_top=False, 
             input_shape=(32, 32, 3), classes=10)
image-processing machine-learning keras mnist vgg-net
1个回答
0
投票

图像将简单地调整大小到指定的target_size。这已在documentation中明确说明:

target_size:整数(height, width)的元组,默认值:(256, 256)。找到所有图像的尺寸将调整大小。

您还可以检查源代码并在load_img函数中找到相关部分。用于调整图像大小的默认插值方法是nearest。您可以找到有关各种插值方法here(MATLAB)或here(PIL)的更多信息。

© www.soinside.com 2019 - 2024. All rights reserved.