np.expand_dims(维度dimension)的作用:
假设有一张灰度图,读取之后的shape是( 360, 480),而模型的输入要求是( 1, 360 , 480 ) 或者是 ( 360 , 480 ,1 ),那么可以通过np.expand_dims(a,axis=0)或者np.expand_dims(a,axis=-1)将形状改变为满足模型的输入
可以简单理解为扩展数组的形状 :“插入一个新轴,该轴将出现在展开的阵列形状中轴位置”
第一层理解: 这个axis(轴)会插在形状的哪里,知道形状会怎么改变
第二层理解:这个数组的内在会怎么改变(知道中括号[]会加在哪)
结论就是:会给插入维度后的每个值(或数组)加一个中括号[]
假设有个数组a: a = np.array( [[1,2,3],[4,5,6]] )
1. 如果axis = 0,那么中括号就会加在最前面的值,生成一个[a]
代码及结果如下:
b = np.expand_dims(a, axis = 0)
2. 如果axis = 1,那么这个中括号就会加在第二个的每个值上
代码及结果如下:
b = np.expand_dims(a, axis = 1)
3. 如果axis = 2或者(axis = -1),那么就会给所有数字都加一个中括号
代码及结果如下:
b = np.expand_dims(a, axis = 2)
总结(二维数据)(如果数据是一维的话,axis就不能=2)
axis = 0时,[]加在最外面axis = 1时,给每一行都加[]axis = 2时,给每一个元素都加[]