MNIST图像重塑中train_images.shape[0]的作用是什么?
关于MNIST数据重塑中train_images.shape[0]的解释
原始MNIST训练数据的形状是(60000, 28, 28),其中:
- 第一个维度
60000代表训练数据集里的样本总数(也就是60000张手写数字图片) - 后面两个
28分别是单张图片的长和宽
train_images.shape[0]就是获取这个第一维度的数值——也就是当前训练数据集的样本总数。
在你的代码里:
train_images=train_images.reshape(train_images.shape[0], 28, 28, 1).astype('float32')
用train_images.shape[0]代替直接写60000的好处是让代码更通用:如果后续你用的训练数据样本数有变化(比如只取了部分MNIST数据,或者用了其他规模的同格式数据集),代码不需要手动修改这个数值,就能自动匹配当前数据的样本总量,避免因为硬编码数值导致的维度不匹配错误。
内容的提问来源于stack exchange,提问作者Steven Dascoli
相关产品推荐
相关产品推荐

