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)

  1. axis = 0时,[]加在最外面
  2. axis = 1时,给每一行都加[]
  3. axis = 2时,给每一个元素都加[]
点击阅读全文
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐