np.expand_dims():用于扩展数组维度
如现有一张灰度图 Img(360,480),网络输入需要格式为(1, 360,480)或(360, 480,1)时,可用np.expand_dims(Img,axis=0)或者np.expand_dims(Img,axis=-1)将灰度图维度进行扩充。
函数参数:np.expand_dims(arr, axis)
- arr:需要扩展的数组
- axis:需要扩展的位置,即在该位置新插入一个维度,数值不能超过数组维度,-1代表最后一个位置
示例1 一维数组扩展为二维
# 一维数组扩展为二维
import numpy as np
a = np.array([1,2,3])
a1 = np.expand_dims(a, axis=0)
a2 = np.expand_dims(a, axis=1)
print(" a:", a,"\n","a.shape:", a.shape)
print(" a1:", a1,"\n","a1.shape:", a1.shape)
print(" a2:", a2,"\n","a2.shape:", a2.shape)
输出如下,其中a1在axis=0位置进行扩展,扩展的维度新插入在第一的位置,表现为最外层增加一个[];
a2在axis=1(或axis=-1)位置进行扩展,扩展的维度新插入在第二的位置,表现为每个元素增加一个[]。
示例2 二维数组扩展为三维
# 二维数组扩展为三维
import numpy as np
a = np.array([[1,2,3],[4,5,6]])
a1 = np.expand_dims(a, axis=0)
a2 = np.expand_dims(a, axis=1)
a3 = np.expand_dims(a, axis=2)
print(" a:", a,"\n","a.shape:", a.shape)
print(" a1:", a1,"\n","a1.shape:", a1.shape)
print(" a2:", a2,"\n","a2.shape:", a2.shape)
print(" a3:", a3,"\n","a3.shape:", a3.shape)
输出如下,其中a1在axis=0位置进行扩展,扩展的维度新插入在第一的位置,表现为最外层增加一个[];
a2在axis=1位置进行扩展,扩展的维度新插入在第二的位置,表现为每行增加一个[];
a3在axis=2(或axis=-1)位置进行扩展,扩展的维度新插入在第三的位置,表现为每个元素增加一个[]。