torch.stack这个函数看上去输出的结果很奇怪,但是其实解析之后很简单。
举个例子:
然后使用torch.stack函数:
一眼看上去,好像有点懵逼,不急,我们慢慢解析。
这个函数是这样的,他的dim参数表明他会在dim新建一个维度,然后在这个维度上进行concat。
因此,我们可以这么理解,假如取dim=1,那么我们可以将a,b同时在dim=1新增一个维度,即:
然后再在dim=1的维度上进行concat。
结果与直接执行torch.stack一致。针对其他维度也是一样的。这个就是torch.stack函数的理解以及与torch.cat的关系。