You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在R的Keras包中对MNIST图像进行数据增强?

问题:MNIST灰度图像数据增强的维度与效果异常

本人熟练使用R,但深度学习完全零基础。参考Chollet等人所著《Deep Learning with R》(第二版)中的两段代码:一段是MNIST数据集的CNN模型代码(第221页及以后),另一段是图像数据增强代码(第241页及以后)。由于后者使用的Kaggle猫狗数据集需注册获取,遂尝试用MNIST替代进行数据增强。

遇到的核心问题:

  • MNIST为灰度图像,猫狗数据集是彩色图像,不确定这是否是导致问题的关键
  • 代码常因维度不匹配报错;若能运行,图像增强效果也完全异常:部分图像高宽混淆,部分图像相互重叠,旋转数字“5”得到的并非旋转后的“5”,各种变换的表现均不符合预期

以下是本人的尝试代码:

初始数据与增强层定义

library(keras)

mnist <- dataset_mnist()
images = mnist$train$x
mnist$train$y[1:2] # 5 0  - 前两张图像对应的数字

data_augmentation <- keras_model_sequential() %>%  # 注释/取消注释可单独测试每种变换
 # layer_random_flip("horizontal")    # 实际是垂直翻转数字“5”,而非水平翻转
 # layer_random_flip("vertical")      # 无变化,显示错误图像(混杂“5”和“0”)
 layer_random_rotation(0.1)         # 完全打乱图像(疑似合并“5”和“0”?)
 # layer_random_zoom(0.2)             # 仅垂直方向放大
 # layer_random_brightness(0.2)       # 效果正常?
 # layer_random_contrast(0.2)         # 效果正常?
 # layer_random_height(0.2)           # 图像重叠
 # layer_random_width(0.2)            # 调整的是高度而非宽度
 # layer_random_translation(0.2,0.2)  # 仅垂直方向偏移,且图像重叠(混杂“5”和“0”)

尝试4D张量格式

images = mnist$train$x %>%
     array_reshape(c(60000, 28, 28, 1)) # 修改order参数为"C"或"F"均无帮助

par(mfrow = c(3, 3), mar = rep(.5, 4))
image <- images[1, , , ]
plot(as.raster(as.array(image), max = 255))
for (i in 2:9) {
 augmented_images <- data_augmentation(images[1:2, , , ]) # 仅聚焦“5”和“0”两张图
 # augmented_image <- augmented_images[1, , , ]  # 维度错误
 augmented_image <- augmented_images[1, , ] # 必须取3D而非4D,原因不明
 plot(as.raster(as.array(augmented_image), max = 255))
}

尝试3D张量格式

images = mnist$train$x %>%
     array_reshape(c(60000, 28, 28)) # 修改order参数为"C"或"F"均无帮助

par(mfrow = c(3, 3), mar = rep(.5, 4))
image <- images[1, , ]
plot(as.raster(as.array(image), max = 255))
for (i in 2:9) {
 augmented_images <- data_augmentation(images[1:2, , ]) # 仅聚焦“5”和“0”两张图
 augmented_image <- augmented_images[1, , ] # 仍需取3D,逻辑矛盾
 plot(as.raster(as.array(augmented_image), max = 255))
}

当代码未因维度错误崩溃时,图像增强效果完全不符合预期,例如旋转数字“5”无法得到正常旋转后的“5”。

内容的提问来源于stack exchange,提问作者user29466667

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 14:30:05