numpy和torch中数组或张量的拼接

1.拼接

1.1numpy

np.vstack()  v 表示vertical  垂直,也就是竖着拼接  和np.hstack() h表示Horizontal  横向

numpy和torch中数组或张量的拼接_第1张图片

numpy和torch中数组或张量的拼接_第2张图片

1.2torch

torch.cat(),dim=1为水平拼接,dim=0为竖直拼接

>>> x = torch.randn(2, 3)
>>> x

 0.5983 -0.0341  2.4918
 1.5981 -0.5265 -0.8735
[torch.FloatTensor of size 2x3]

>>> torch.cat((x, x, x), 0)

 0.5983 -0.0341  2.4918
 1.5981 -0.5265 -0.8735
 0.5983 -0.0341  2.4918
 1.5981 -0.5265 -0.8735
 0.5983 -0.0341  2.4918
 1.5981 -0.5265 -0.8735
[torch.FloatTensor of size 6x3]

>>> torch.cat((x, x, x), 1)

 0.5983 -0.0341  2.4918  0.5983 -0.0341  2.4918  0.5983 -0.0341  2.4918
 1.5981 -0.5265 -0.8735  1.5981 -0.5265 -0.8735  1.5981 -0.5265 -0.8735
[torch.FloatTensor of size 2x9]

torch.stack()沿着一个新维度对输入张量序列进行连接。

numpy和torch中数组或张量的拼接_第3张图片

c, dim = 0时, c = [ a, b]

d, dim =1 时, d = [ [a[0] , b[0] ] , [a[1], b[1] ] ]

e, dim = 2 时, e = [     [   [ a[0][0], b[0][0] ]  , [ a[0][1], b[0][1] ]  ,  [ a[0][2],b[0][2] ] ] ,

                                      [   [ a[1][0], b[1][0] ]  , [ a[1][1], b[0][1] ]  ,  [ a[1][2],b[1][2] ] ]      ]
原文:

https://blog.csdn.net/accumulate_zhang/article/details/78452374

https://blog.csdn.net/teeyohuang/article/details/80362756 

你可能感兴趣的:(torch)