在使用 Keras 训练之前调整 MNIST 图像的大小

Resize MNIST images before training using Keras

我一直在从事一个涉及 CNN 及其权重的项目,并且我一直在尝试减少 CNN 中存在的权重数量。我想在训练 CNN 之前将 MNIST 图像从 28x28 调整为 14x14,但我不知道如何在 Keras 中进行。

以下是用于导入 MNIST 数据集和构建 CNN 的代码示例:

# LOAD MNIST DATA
(X_train, y_train), (X_test, y_test) = mnist.load_data()
# RESHAPE TO [SAMPLES][PIXELS][WIDTH][HEIGHT]
X_train = X_train.reshape(X_train.shape[0], 1, 28, 28).astype('float32')
X_test = X_test.reshape(X_test.shape[0], 1, 28, 28).astype('float32')

# NORMALIZE 0-255 TO 0-1
X_train = X_train / 255
X_test = X_test / 255
# ONE HOT ENCODE
y_train = np_utils.to_categorical(y_train)
y_test = np_utils.to_categorical(y_test)
num_classes = y_test.shape[1]

#DEFINE MODEL
def larger_model():
  # CREATE MODEL
  model = Sequential()
  model.add(Conv2D(2, (5, 5), input_shape=(1, 28, 28), activation='relu', 
padding="same"))
  model.add(MaxPooling2D(pool_size=(2, 2)))
  model.add(Conv2D(2, (5, 5), activation='relu', padding="same"))
  model.add(MaxPooling2D(pool_size=(2, 2)))
  model.add(Dropout(0.2))
  model.add(Flatten())
  model.add(Dense(16, activation='relu'))
  model.add(Dense(num_classes, activation='softmax'))
  # COMPILE MODEL
  model.compile(loss='categorical_crossentropy', optimizer='adam', metrics= 
 ['accuracy'])
  return model

# BUILD MODEL
model = larger_model()
model.summary()

X_train 变量是模型训练中使用的变量。我应该做哪些调整才能在训练开始前将 X_train 的大小减小到 14x14?

谢谢!

默认的 load_data 函数没有任何动态修改选项,例如调整大小。因为你现在有 NumPy 数组,你必须预处理,调整图像作为数组的大小。这是关于将 NumPy 数组调整为图像的