torch.unfold

项目场景:

针对torch中的unfold(只卷不积):

问题描述

提示:这里描述项目中遇到的问题:
原始参数为
下面展示一些 内联代码片

tensor([[[ 0.,  1.,  2.],
         [ 3.,  4.,  5.],
         [ 6.,  7.,  8.]],

        [[ 9., 10., 11.],
         [12., 13., 14.],
         [15., 16., 17.]],

        [[18., 19., 20.],
         [21., 22., 23.],
         [24., 25., 26.]]])

例如:输入数据为3×3×3的矩阵,使用该函数
x1 = f.unfold(x, kernel_size=3, dilation=1 , stride=1)

tensor([[ 0.],
        [ 1.],
        [ 2.],
        [ 3.],
        [ 4.],
        [ 5.],
        [ 6.],
        [ 7.],
        [ 8.],
        [ 9.],
        [10.],
        [11.],
        [12.],
        [13.],
        [14.],
        [15.],
        [16.],
        [17.],
        [18.],
        [19.],
        [20.],
        [21.],
        [22.],
        [23.],
        [24.],
        [25.],
        [26.]])
	}

若将参数替换为kernel=2

tensor([[ 0.,  1.,  3.,  4.],
        [ 1.,  2.,  4.,  5.],
        [ 3.,  4.,  6.,  7.],
        [ 4.,  5.,  7.,  8.],
        [ 9., 10., 12., 13.],
        [10., 11., 13., 14.],
        [12., 13., 15., 16.],
        [13., 14., 16., 17.],
        [18., 19., 21., 22.],
        [19., 20., 22., 23.],
        [21., 22., 24., 25.],
        [22., 23., 25., 26.]])

	}

再将diat=2

tensor([[ 0.],
        [ 2.],
        [ 6.],
        [ 8.],
        [ 9.],
        [11.],
        [15.],
        [17.],
        [18.],
        [20.],
        [24.],
        [26.]])
        ```

类似于空洞的概念,如果将输入换成3×5×5就换过来了。

tensor([[[ 0.,  1.,  2.,  3.,  4.],
         [ 5.,  6.,  7.,  8.,  9.],
         [10., 11., 12., 13., 14.],
         [15., 16., 17., 18., 19.],
         [20., 21., 22., 23., 24.]],

        [[25., 26., 27., 28., 29.],
         [30., 31., 32., 33., 34.],
         [35., 36., 37., 38., 39.],
         [40., 41., 42., 43., 44.],
         [45., 46., 47., 48., 49.]],

        [[50., 51., 52., 53., 54.],
         [55., 56., 57., 58., 59.],
         [60., 61., 62., 63., 64.],
         [65., 66., 67., 68., 69.],
         [70., 71., 72., 73., 74.]]])

以上为输如,将size设为3,看输出

tensor([[ 0.,  1.,  2.,  5.,  6.,  7., 10., 11., 12.],
        [ 1.,  2.,  3.,  6.,  7.,  8., 11., 12., 13.],
        [ 2.,  3.,  4.,  7.,  8.,  9., 12., 13., 14.],
        [ 5.,  6.,  7., 10., 11., 12., 15., 16., 17.],
        [ 6.,  7.,  8., 11., 12., 13., 16., 17., 18.],
        [ 7.,  8.,  9., 12., 13., 14., 17., 18., 19.],
        [10., 11., 12., 15., 16., 17., 20., 21., 22.],
        [11., 12., 13., 16., 17., 18., 21., 22., 23.],
        [12., 13., 14., 17., 18., 19., 22., 23., 24.],
        [25., 26., 27., 30., 31., 32., 35., 36., 37.],
        [26., 27., 28., 31., 32., 33., 36., 37., 38.],
        [27., 28., 29., 32., 33., 34., 37., 38., 39.],
        [30., 31., 32., 35., 36., 37., 40., 41., 42.],
        [31., 32., 33., 36., 37., 38., 41., 42., 43.],
        [32., 33., 34., 37., 38., 39., 42., 43., 44.],
        [35., 36., 37., 40., 41., 42., 45., 46., 47.],
        [36., 37., 38., 41., 42., 43., 46., 47., 48.],
        [37., 38., 39., 42., 43., 44., 47., 48., 49.],
        [50., 51., 52., 55., 56., 57., 60., 61., 62.],
        [51., 52., 53., 56., 57., 58., 61., 62., 63.],
        [52., 53., 54., 57., 58., 59., 62., 63., 64.],
        [55., 56., 57., 60., 61., 62., 65., 66., 67.],
        [56., 57., 58., 61., 62., 63., 66., 67., 68.],
        [57., 58., 59., 62., 63., 64., 67., 68., 69.],
        [60., 61., 62., 65., 66., 67., 70., 71., 72.],
        [61., 62., 63., 66., 67., 68., 71., 72., 73.],
        [62., 63., 64., 67., 68., 69., 72., 73., 74.]])

将dia=2时

tensor([[ 0.],
        [ 2.],
        [ 4.],
        [10.],
        [12.],
        [14.],
        [20.],
        [22.],
        [24.],
        [25.],
        [27.],
        [29.],
        [35.],
        [37.],
        [39.],
        [45.],
        [47.],
        [49.],
        [50.],
        [52.],
        [54.],
        [60.],
        [62.],
        [64.],
        [70.],
        [72.],
        [74.]])

问题描述

终于理解了,是按照列的规矩垂直展平!!!!!


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值