torch.repeat_interleave()函数详解

函数原型:

torch.repeat_interleave(input, repeats, dim=None) → Tensor

详解:
函数的功能:重复张量的元素,返回一个张量
输入参数:

  • input (类型:torch.Tensor):输入张量
  • repeats(类型:int或torch.Tensor):重复的次数。repeats参数会被广播来适应输入张量的维度,可
  • dim(类型:int):在哪个维度进行重复。默认情况下,将把输入张量展平(flatten)为向量,然后将每个元素重复repeats次,并返回重复后的张量。

返回值:

返回一个张量,这个张量与输入张量在dim维的shape不同,其他维的shape与输入的shape一致

举例说明:

>>> x = torch.tensor([1, 2, 3])
>>> x.repeat_interleave(2)
tensor([1, 1, 2, 2, 3, 3])
# 传入多维张量,会默认`展平`
>>> y = torch.tensor([[1, 2], [3, 4]])
# 展平之后每个元素重复两次
>>> torch.repeat_interleave(y, 2)
tensor([1, 1, 2, 2, 3, 3, 4, 4])
# 指定维度,0轴为纵向,在列的方向重复
>>> torch.repeat_interleave(y,3,0)
tensor([[1, 2],
        [1, 2],
        [1, 2],
        [3, 4],
        [3, 4],
        [3, 4]])
# 1轴为横向,在行的方向重复
>>> torch.repeat_interleave(y, 3, dim=1)
tensor([[1, 1, 1, 2, 2, 2],
        [3, 3, 3, 4, 4, 4]])
# 指定不同元素重复不同次数,第一个元素重复一次,第二个元素重复两次,按列重复
>>> torch.repeat_interleave(y, torch.tensor([1, 2]), dim=0)
tensor([[1, 2],
        [3, 4],
        [3, 4]])

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值