np.expand_dims有什么用?扩展数组的形状
扩展一个张量的维度,将二维的标签数组变为三维的
假设你有一张灰度图,读取之后的shape是(360,480)
而模型的输入要求是(1,360,380)或者是(360,480,1)
那么你就可以通过np.expand_dims(a, axis=0)或者np.expand_dims(a, axis=-1),将形状改变为满足模型的输入。
也可以用reshpe()转化成三维
3d输入
样本(samples):一个序列(依上例,转化后,每一行)就是一个样本。
时间步长(time steps):一个样本包含多个时间步长,即滑动窗口的宽度
特征(features):包含多少个特征,比如降水量预测中的温度、湿度、风速、气压特征,那么指定 feature 就是 4
数据集是二维的,数组形状是:[samples, features]。区别是添加了时间步长维度。在时间序列预测问题中,特征是在时间步长的观测值。所以实际上是在增加特征的维度,一个单变量时间序列只有一个特征。
转化成三维之后,其实二维上是形状为[samples, time steps]的二维数组,然后第三个维度是features,想象一下立方体,每增加一个特征(features)就相当于沿着Z轴叠加二维数组。