第42个方法
torch.stack(tensors, dim=0, *, out=None) → Tensor
此方法的意思是将一系列的tensor沿着新的维度进行连接,首先是参数介绍
-
tensors
:要连接的一系列的tensors(要拼接的tensor形状必须相等)。 -
dim
:要进行连接的维度。 -
out
:连接以后输出的新tensor -
使用方法如下,第0维是最好理解的,所以我们首先看第0维的连接:
其实就是将两个tensor直接拼起来,最后生成的tensor从原来的两个都是二维变成了一个三维的tensor,毕竟是直接拼起来的。同理如果两个都是一维的,按维度为0进行拼接的话,最后的结果是二维的,如下所示:
-
接下来看从维度1进行拼接:
无非是将两个tensor对应的行直接拼起来,并且把拼起来的作为结果tensor中的新的行。 -
对于在第三维其实效果是一样的,就是将我们的第三个维度中的行,或者是数据取出来拼成一个新的tensor放在结果里面,如下所示:
-
总结,此方法就是从两个要拼接的tensor中指定的dim上拿出那里的元素,拼接后形成一个新的tensor并且放入刚才拿出的维度中,注意,拼接后的tensor比原tensor维度多1,因为取a中的dim上的元素为a1,b中为b2,拼接后为[a1, b1]作为结果tensor中的第dim上的tensor