张量相加可能遇到的问题

文章探讨了在PyTorch中,两个张量在通道数和维度不同时如何进行相加操作。实验表明,通道数不同但其他维度相同的张量可以直接相加,结果的通道数为两者之和;维度不同但通道数相同的张量也能相加,结果的维度取最大值。此外,一个维度为[1,1,1,1]的张量可以与任何其他维度和通道数的张量相加。
摘要由CSDN通过智能技术生成

最近在改网络模型遇到的一个张量相加问题引发了思考
对维度,通道数,长宽等有可能不同的两个张量相加,什么情况下能进行相加什么情况下又不能相加进行了一个实验

当两个通道数不同的张量相加

这种情况是能相加的,使用[1,1,14,14]和[1,256,14,14]的张量进行相加

    x = torch.ones([1,1,14,14])
    y = torch.ones([1,256,14,14])
    t = x + y
    print(t.size())

运行结果为torch.size([1,256,14,14])

两个维度不同,通道数不同的张量相加

这种情况是能相加的,使用[1,1,14,14]和[2,256,14,14]的张量进行相加

    x = torch.ones([1,1,14,14])
    y = torch.ones([2,256,14,14])
    t = x + y
    print(t.size())

结果是[2,256,14,14]

维度不同,通道数相同时

也能相加,最终结果的维度是大的那一个

当一个张量为[1,1,1,1],可以和另一个任意维度通道数和长宽的张量相加,这里不作举例

可以参考pytorch维度不同的张量(tensor)相加规则

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值