np.expand_dims 小白详解

20 篇文章 1 订阅
10 篇文章 2 订阅

np.expand_dims

前言

今天给同事讲解了一下np.expand_dims是做什么的。可以简单理解为扩展数组的形状
在这里插入图片描述
Insert a new axis that will appear at the axis position in the expanded array shape(插入一个新轴,该轴将出现在展开的阵列形状中的轴位置)

然后大家可以去分两层理解这个函数。

第一层理解:这个axis会插在形状的哪里(知道形状会怎么改变)

假设我们有个数组a

import numpy as np
a=np.array([[1,2,3],[4,5,6]])

a的形状是
在这里插入图片描述
如果axis=0,那么改变这个形状的1就会插在第一的位置。

b=np.expand_dims(a, axis=0)

在这里插入图片描述
如果axis=1,那么改变这个形状的1就会插在第二的位置。

b=np.expand_dims(a, axis=1)

在这里插入图片描述
如果axis=2(或者axis=-1),那么改变这个形状的1就会插在第三(或者最后)的位置。

b=np.expand_dims(a, axis=2)

在这里插入图片描述

第二层理解:这个数组的内在会怎么改变(知道中括号[]会加在哪)

先说结论,会给插入维度后的每个值(或数组)加一个中括号【】。
这里不理解没关系,看下面的例子。

假设我们有个数组a

import numpy as np
a=np.array([[1,2,3],[4,5,6]])

a的形状是
在这里插入图片描述
如果axis=0,那么这中括号就会加在最前面的值,生成一个 [a]。

b=np.expand_dims(a, axis=0)

在这里插入图片描述
如果axis=2(或者axis=-1),那么这中括号就会加在第三个(最后)的每个值上,(也就是给所有数字都加了一个中括号)

b=np.expand_dims(a, axis=2)

在这里插入图片描述

如果axis=1,那么这中括号就会加在第二个(最后)的每个值上

b=np.expand_dims(a, axis=1)

在这里插入图片描述

np.expand_dims有什么用

假设你有一张灰度图,读取之后的shape是(360,480)
而模型的输入要求是(1,360,380)或者是(360,480,1)
那么你就可以通过np.expand_dims(a, axis=0)或者np.expand_dims(a, axis=-1),将形状改变为满足模型的输入。

参考网址

https://docs.scipy.org/doc/numpy-1.17.0/numpy-ref-1.17.0.pdf
np.expand_dims():https://blog.csdn.net/hong615771420/article/details/83448878

结束语

画框框哪里真的是太麻烦了,都看到这了就点个赞和关注咯。
如果有不清楚的地方,可以留言或者私信我。感谢各位咯。
西瓜6的啦啦啦

  • 243
    点赞
  • 323
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 12
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

西瓜6

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值