使用 VGG 网络微调 Cifar 数据

Finetuning Cifar data with VGG net

原始VGG网络接受大小为256x256x3的输入。为了训练 Cifar-10 数据,我是否需要将数据大小调整为 256x256x3?或者还有其他方法吗?

我正在尝试使用大小为 32x32x3 的 Cifar-10 数据微调 VGG 网络。

为了在 VGG 上训练 Cifar-10 数据,您必须提供大小为 256x256x3 的输入数据。各种输入层都有变换参数来处理图像大小调整。

但是将 32x32 图像放大到 256x256 并不是一个好的方法,因为图像数据的主要部分是通过可用的 32x32 图像数据的近似值创建的。所以我不建议这样做。但如果这只是为了尝试演示 VGG 微调,您可以通过设置转换参数来完成。

对于较小的图像,您应该使用 VGG 的简化版本,因为 VGG-16 对于小图像来说太复杂了。

我认为这个模型更适合你的问题,用 gpu 训练它并不难:

model = Sequential()

model.add(Conv2D(32, (3, 3), padding='same',
                 input_shape=x_train.shape[1:]))
model.add(Activation('relu'))
model.add(Conv2D(32, (3, 3)))
model.add(Activation('relu'))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Dropout(0.25))

model.add(Conv2D(64, (3, 3), padding='same'))
model.add(Activation('relu'))
model.add(Conv2D(64, (3, 3)))
model.add(Activation('relu'))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Dropout(0.25))

model.add(Flatten())
model.add(Dense(512))
model.add(Activation('relu'))
model.add(Dropout(0.5))
model.add(Dense(num_classes))
model.add(Activation('softmax'))