一个非常容易搞混的问题:就是沿着dim=0进行连接和沿着dim=1进行连接,到底是横着连接还是竖着连接
tensor = torch.ones(4,4)
tensor[:,1]=0 #下标为1的列所在的value赋值为0
print(tensor)
#3.5 torch.cat() 使用该方法可以沿着给定的维度将多个tensor(一个序列)连接起来,还可以使用torch.stack 进行堆叠等等
t1 = torch.cat([tensor,tensor,tensor],dim=1) #沿着列进行连接
print(t1)
发现了一个技巧就是,如果是二维张量,那么元素的索引是[index1, index2], 其中index1是指在dim=0这个维度上的值,index2是dim=1这个维度上的值
1. 如果是沿着dim=0进行连接,那么就是扩充index1的范围,那么就是竖着连接
2. 如果是沿着dim=1进行连接,那么就是扩充index2的范围,那么就是横着连接
3. 4个tensor沿着dim=1进行连接, index2的范围变为原来的4倍,如下图所示: