x.reshape([1,28,28,1])的重塑操作对28*28数组的作用是什么?
reshape([1,28,28,1])操作对28*28数组的处理说明 假设你当前操作的x是形状为(28, 28)的二维数组,最常见的场景是单通道28×28像素的灰度图像数据,这个重塑操作的实际处理逻辑如下:
- 不会修改数组内部的任何元素数值、也不会改变元素的存储顺序,仅调整数组的维度标识,适配深度学习模型的输入要求
- 新增的第一个维度(最外层)为批次维度,取值1代表当前批次内仅包含1条样本数据,符合绝大多数深度学习框架的「批次优先」输入规范
- 中间两个维度保留原数组的28×28属性,对应图像的高度和宽度参数,和原数组的空间对应关系完全一致
- 新增的第四个维度(最内层)为通道维度,取值1代表当前数据是单通道的灰度数据,如果是RGB彩色图像这个维度的取值会是3
可以参考简化的2×2数组的转换示例理解:
原2×2二维数组:[[1,2], [3,4]]执行
reshape([1,2,2,1])后得到的四维数组:[[ [[1], [2]], [[3], [4]] ]]所有元素的数值和相对顺序完全没有变化,只是新增了两层维度的包裹。
内容的提问来源于stack exchange,提问作者Mariam Albarghouti
相关产品推荐
相关产品推荐

