【无标题】

Pytorch的repeat函数用于复制tensor的元素。当repeat的维度与tensor相同,会按维度相乘复制;不同,则先扩展tensor至匹配维度,再复制。例如,一个(2,3)的tensor使用repeat(2,2)会变成(4,6),使用repeat(1,2,1)会变成(1,4,3)。
摘要由CSDN通过智能技术生成

Pytorch中的.repeat()函数

两种情况

第一种情况

当repeat的维度与原tensor维度相同时,则对应维度数相乘得到最终结果。
例:

#即a的维度为(2,3)
a = ([[1, 2, 3], [4, 5, 6]])
b = a.repeat(2, 2)
print(b.shape) #则b的维度大小为 (4, 6) #(2×2, 2×3) 其实就是把相应维度的元素值分别复制2次。

第二种情况

当repeat的维度与原tensor维度不同时,则先在第0维扩展一个维数为1的维度,然后剩下的维度执行对应维度数相乘,即得到最终结果。
例:

#a形状(2,3)
a = torch.tensor([[1, 2, 3], [4, 5, 6]])
repeat参数比维度多,在扩展前先讲a的形状扩展为(1,2,3)然后复制
b = a.repeat(1, 2, 1)
print(b.shape) # 得到结果torch.Size([1, 4, 3])

参考:https://blog.csdn.net/tequila53/article/details/119183678

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值