主要用到view和cat两个函数,这里就简单地使用
1.torch.view()
主要是用来改变矩阵的形态,比如现在是一个[5,3]的矩阵,那我们就可以使用view函数将[5,3]的矩阵变成[3,5] , [1,15]或等等的形态
out = torch.tensor([[0.1],[0.2],[0.3]])
print(out.size())
out = out.view(-1, len(out))
print(out.size())
print(out)
Print:
torch.Size([3, 1])
torch.Size([1, 3])
tensor([[0.1000, 0.2000, 0.3000]])
view可以直接传入要变成的形态,几行几列,也可以只写行或者列,另一个用-1即可,会自动填充。
2.torch.cat()
用来拼接两个矩阵,比如行拼接或是列拼接。
x = torch.tensor([[1, 2], [3, 4], [5, 6]])
y = torch.tensor([[7, 8], [9, 10], [11, 12]])
horizontal_splicing_out = torch.cat((x, y), 1) # 横向拼接
longitudinal_splicing_out = torch.cat((x, y), 0) # 纵向拼接
print('horizontal_splicing_out', horizontal_splicing_out)
print('longitudinal_splicing_out', longitudinal_splicing_out)
Print:
horizontal_splicing_out tensor([[ 1, 2, 7, 8],
[ 3, 4, 9, 10],
[ 5, 6, 11, 12]])
longitudinal_splicing_out tensor([[ 1, 2],
[ 3, 4],
[ 5, 6],
[ 7, 8],
[ 9, 10],
[11, 12]])
如代码所示,第一个参数就是要拼接的两个矩阵,第二个参数,1就是横向拼接,0就是纵向拼接。