torch.nn.cat()函数

csdn上一些对torch.nn.cat()中dim参数描述存在误导性。很多讲解只是以二维tensor为例,对于初学者很不友好,可能会误以为dim=0就是以行拼接,dim=1就是按列拼接。这种理解在做深度学习时,带来的错误可能是致命性的,torch的输入往往是(batch,channel,H,W),这时候dim=0就是按batch拼接,dim=1就是按channel拼接 。。。

demo:

>>> import torch
>>> a = torch.randn(2, 3)
>>> b = torch.randn(2, 3)
>>> a
tensor([[-0.2588, -0.0599, -1.7341],
        [-0.5032, -0.5763, -0.5034]])
>>> b
tensor([[-0.6648,  1.5979,  1.5730],
        [ 0.4543, -0.4951,  1.3021]])
>>> torch.cat([a, b], 0)
tensor([[-0.2588, -0.0599, -1.7341],
        [-0.5032, -0.5763, -0.5034],
        [-0.6648,  1.5979,  1.5730],
        [ 0.4543, -0.4951,  1.3021]])
>>> torch.cat([a, b], 1)
tensor([[-0.2588, -0.0599, -1.7341, -0.6648,  1.5979,  1.5730],
        [-0.5032, -0.5763, -0.5034,  0.4543, -0.4951,  1.3021]])
>>> c = torch.randn(2, 3, 3)
>>> d = torch.randn(2, 3, 3)
>>> c
tensor([[[-0.5136,  0.9830,  1.0458],
         [ 0.2047, -0.9562, -0.5320],
         [ 0.5590,  1.8764,  0.0365]],

        [[ 1.2450, -0.6891, -0.6812],
         [ 0.1304,  0.8681, -0.4488],
         [ 0.1647,  0.0277,  0.4221]]])
>>> d
tensor([[[ 0.5374, -1.3877, -1.2990],
         [ 1.0750,  2.6673, -0.1455],
         [ 0.2429, -0.2498, -0.4213]],

        [[-0.0743, -0.6336, -1.1928],
         [ 0.2520, -1.2656,  1.0350],
         [-1.4310,  2.7352,  0.0715]]])
>>> torch.cat([c, d], 2)
tensor([[[-0.5136,  0.9830,  1.0458,  0.5374, -1.3877, -1.2990],
         [ 0.2047, -0.9562, -0.5320,  1.0750,  2.6673, -0.1455],
         [ 0.5590,  1.8764,  0.0365,  0.2429, -0.2498, -0.4213]],

        [[ 1.2450, -0.6891, -0.6812, -0.0743, -0.6336, -1.1928],
         [ 0.1304,  0.8681, -0.4488,  0.2520, -1.2656,  1.0350],
         [ 0.1647,  0.0277,  0.4221, -1.4310,  2.7352,  0.0715]]])

 

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值