torch.cat

torch.cat()太乱了网上。给我自己写一个 笔记吧
其实torch.cat就是拼接

a = torch.tensor([[[1,2]]])# 1,1,2
b = torch.tensor([[[3,4]]])# 1,1,2
print(torch.cat([a,b],2).shape)
print(torch.cat([a,b],2))
#torch.Size([1, 1, 4])
#tensor([[[1, 2, 3, 4]]])
#就是直接拼接第 0 1 2 中的2 那一维度 那一维度里面有 [1,2]那就是说 得到[1,2,3,4] 
print(torch.cat([a,b],1).shape)
print(torch.cat([a,b],1)
#torch.Size([1, 2, 2])
#tensor([
#[
#	[1, 2],
#	[3, 4]
#]
#])
#你看这样就是 [[[1,2],[3,4]]]就是把 两个第1维度的放在一起 

print(torch.cat([a,b],0).shape)
print(torch.cat([a,b],0))
#torch.Size([2, 1, 2])
#tensor([
#			[[1, 2]],
#			[[3, 4]]
#		])

总结一下 个人理解 我们所选的 2也就是size数组的最后 一个值 的维度就是 里面值的拼接。然后就是一维数组 二维数组。因为例子是 三维数组。
还有 dim可以为负数。

print(torch.cat([a,b],-1).shape)
print(torch.cat([a,b],2))

这样是可以的。
如果是 二维数组 那就更好理解了 。你比如 [ [1,2] ] 和 [ [3,4] ] 那dim = 1就是 [ [1,2,3,4] ]。也就是说的列拼接(列变多)。为 0 就是 行拼接 [[1,2] ,[3,4]] 那对于我们三维就是 高拼接 哈哈哈我自己取的。就是把二维堆叠。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值