背景
我在看pytorch的 torch.cat官方文档的时候,发现了torch.stack函数,这个函数我愿意称之为最难理解的operator之一,我看文档还有让GPT解释半天都没能理解这是什么意思,因此我判断这并不是一个语言可以很好表示的意思。所以我直接花了一个图来辅助我理解他们的区别。
理解方法
之前在背景里也说了,这个torch.stack函数有点只可意会不可言传,但是我可以一个比较神奇的说法来试图传递我的意思:
- 把原本的tensor像翻牌一样翻向一个特定的方向,然后在这个方向上进行自身的n次的堆叠
- 其中堆叠的方向在图中已经用蓝色的箭头表示。
注意,理解过程中,不要太在意维度的 “绝对方向”, 虽然我也不知道你能不能get到我的意思,但是希望这个说法能在某种程度上帮助到你。
再一次感叹我的语文水平,如果我高中语言更认真学一点,是不是就能直接把它说明白了呢?