我想在VGG16上训练MNIST。
MNIST图像大小为28 * 28,我在keras VGG16中将输入大小设置为32 * 32。当我训练时,我得到了很好的指标,但是我不确定会发生什么。角膜填充空白空间还是像缩放功能一样线性扩展图像?有人知道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)
答案 0 :(得分:0)
只需将图像调整为指定的target_size
即可。 documentation中已明确指出:
target_size:整数
(height, width)
的元组,默认值:(256, 256)
。找到的所有图像的尺寸将被调整为大小。
您还可以检查源代码并在load_img
函数中找到相关部分。同样,用于调整图像大小的默认插值方法是nearest
。您可以找到有关各种插值方法here(MATLAB)或here(PIL)的更多信息。