参考:
Pytorch中的torch.cat()函数_荷叶田田-CSDN博客_python torch.cat
这个作者讲的还不错,但是我补充点自己的理解:
A = s(1,1,3) B = s(1,2,3) temp = torch.cat((A, B), 2) 此时按照dim=2进行拼接,那么dim=1的数值不一样,就报错。但是如果是按照dim=1进行拼接,就不会, 也就是说,按照对应dim进行拼接,不需要对应维度值是否一致,但是剩余的维度值和数目都要一致。另外,其实按照哪个dim进行cat,就是把对应的维度值相加。
torch.stack() 是按照指定维度进行堆叠,且里面的tensor的shape必须相同,但是可以开辟一个新的维度,在新的维度上堆叠,且维度范围在[0,几个tensor],数据是合在一个打的维度下,但是还是内部分各个tensor。且shape维度增加一个
torch.cat()是按照已存在的维度进行堆叠,且不需要里面的tensor的shape必须相同,比如 2x3,3x3,就可以按照第0维进行堆叠,这样得到5x3维度,且数据是合在一起了,内部就不分各个tensor了。且shape的维度不变
本文发布于:2024-02-05 09:14:27,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170728560565219.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |