Pytorch中的torch.cat()函数

Posted jeasoniscoding

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Pytorch中的torch.cat()函数相关的知识,希望对你有一定的参考价值。

cat是concatnate的意思:拼接,联系在一起。


 

先说cat( )的普通用法

如果我们有两个tensor是A和B,想把他们拼接在一起,需要如下操作:

C = torch.cat( (A,B),0 )  #按维数0拼接(竖着拼)

C = torch.cat( (A,B),1 )  #按维数1拼接(横着拼)
>>> import torch
>>> A=torch.ones(2,3)    #2x3的张量(矩阵)                                     
>>> A
tensor([[ 1.,  1.,  1.],
        [ 1.,  1.,  1.]])
>>> B=2*torch.ones(4,3)  #4x3的张量(矩阵)                                    
>>> B
tensor([[ 2.,  2.,  2.],
        [ 2.,  2.,  2.],
        [ 2.,  2.,  2.],
        [ 2.,  2.,  2.]])
>>> C=torch.cat((A,B),0)  #按维数0(行)拼接
>>> C
tensor([[ 1.,  1.,  1.],
         [ 1.,  1.,  1.],
         [ 2.,  2.,  2.],
         [ 2.,  2.,  2.],
         [ 2.,  2.,  2.],
         [ 2.,  2.,  2.]])
>>> C.size()
torch.Size([6, 3])
>>> D=2*torch.ones(2,4) #2x4的张量(矩阵)
>>> C=torch.cat((A,D),1)#按维数1(列)拼接
>>> C
tensor([[ 1.,  1.,  1.,  2.,  2.,  2.,  2.],
        [ 1.,  1.,  1.,  2.,  2.,  2.,  2.]])
>>> C.size()
torch.Size([2, 7])

其次,cat还可以把list中的tensor拼接起来。

比如:

技术分享图片

技术分享图片

上面的代码可以合成一行来写:

技术分享图片

 

以上是关于Pytorch中的torch.cat()函数的主要内容,如果未能解决你的问题,请参考以下文章

Pytorch 中 torch.cat() 函数解析

pytorch中torch.cat() 和paddle中的paddle.concat()函数用法

pytorch中的torch.cat()矩阵拼接的用法及理解

pytorch-torch2:张量计算和连接

PyTorch利用torch.cat()实现Tensor的拼接

PyTorch利用torch.cat()实现Tensor的拼接