关于多维度下 numpy.repeat(,axis)函数 axis的设置问题

今天遇到了在给多维度的tensor使用numpy.repeat()函数axis的设置问题。但是search了一些blog。并没有人解释这个问题,所以我今天来解释一下。

总而言之,numpy.repeat()这个函数可以起到根据维度复制tensor的作用

至于你想要复制哪个维度要来设置axis这个系数。

废话不多说,直接上代码。

import numpy as np

# 随机生成[0,10)之间的数,形状为(2,3,4,5),将此数组重复3次
# 这个方法并不会引起维度的变化.
# 这里面的axis的取值会代表不同的操作,
# 但是总而言之从左侧开始的第一项永远对应axis=0,最后一项永远是axis=-1.
# 因为在这里咱们有4个维度所以当把axis设置为3或是-1,所得到的效果是一样的。

pop = np.random.randint(0, 10, size=(2,3,4,5))
bob = pop.repeat(3, axis=0) 
coc = pop.repeat(3, axis=1)
dod = pop.repeat(3, axis=2)
eoe = pop.repeat(3, axis=-1)
print("pop\n",pop,pop.shape) # shape:(2,3,4,5)
print("bob\n",bob,bob.shape) # shape:(6,3,4,5)  axis=0
print("coc\n",coc,coc.shape) # shape:(2,9,4,5)  axis=1
print("dod\n",dod,dod.shape) # shape:(2,3,12,5) axis=2
print("eoe\n",eoe,eoe.shape) # shape:(2,3,4,15) axis=-1

 从左侧开始的第一项永远对应axis=0,最后一项永远是axis=-1.

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值