如何调整图像数据的维度顺序以满足神经网络的输入要求
操作步骤
1. 调整维度顺序,将batch维度移至首位
当前你的数据集维度顺序为(dimension_x, dimension_y, batch_size),使用numpy.transpose交换维度位置即可:
import numpy as np # 维度顺序调整为 (batch_size, dimension_x, dimension_y) x_train_adjusted = np.transpose(x_train_grey, axes=(2, 0, 1))
调整后x_train_adjusted.shape为(73257, 32, 32)。
2. 新增灰度通道维度,匹配网络输入要求
你设置的首层Flatten要求输入形状为(32, 32, 1),需要在最后一维补充灰度通道:
# 方法1:使用expand_dims新增通道维度 x_train_final = np.expand_dims(x_train_adjusted, axis=-1) # 方法2:使用reshape直接重定义形状 # x_train_final = x_train_adjusted.reshape(73257, 32, 32, 1)
调整后x_train_final.shape为(73257, 32, 32, 1),完全符合网络输入要求,可直接传入模型训练。
内容的提问来源于stack exchange,提问作者mankojag
相关产品推荐
相关产品推荐

