F.unfold运行解析

先上结论,unfold是先对第一通道展平,再对第二通道展平,依次叠加

import cv2
import numpy as np
import torch
import torch.nn.functional as F
b=1
c=2
h=12
w=12
s=torch.arange(1,b*c*h*w+1).float()
s=s.view(b,c,h,w)
up_factor=2
kernel=3*up_factor
t = F.unfold(s, kernel_size=(kernel, kernel),
                             padding=up_factor, stride=up_factor)
print(s)
print("\n*****************************\n")
print(t.shape)
print(t)
print(t[0, :, 0])

结果 

tensor([[[[  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.,  75.,  76.,  77.,  78.,  79.,  80.,  81.,  82.,  83.,
            84.],
          [ 85.,  86.,  87.,  88.,  89.,  90.,  91.,  92.,  93.,  94.,  95.,
            96.],
          [ 97.,  98.,  99., 100., 101., 102., 103., 104., 105., 106., 107.,
           108.],
          [109., 110., 111., 112., 113., 114., 115., 116., 117., 118., 119.,
           120.],
          [121., 122., 123., 124., 125., 126., 127., 128., 129., 130., 131.,
           132.],
          [133., 134., 135., 136., 137., 138., 139., 140., 141., 142., 143.,
           144.]],

         [[145., 146., 147., 148., 149., 150., 151., 152., 153., 154., 155.,
           156.],
          [157., 158., 159., 160., 161., 162., 163., 164., 165., 166., 167.,
           168.],
          [169., 170., 171., 172., 173., 174., 175., 176., 177., 178., 179.,
           180.],
          [181., 182., 183., 184., 185., 186., 187., 188., 189., 190., 191.,
           192.],
          [193., 194., 195., 196., 197., 198., 199., 200., 201., 202., 203.,
           204.],
          [205., 206., 207., 208., 209., 210., 211., 212., 213., 214., 215.,
           216.],
          [217., 218., 219., 220., 221., 222., 223., 224., 225., 226., 227.,
           228.],
          [229., 230., 231., 232., 233., 234., 235., 236., 237., 238., 239.,
           240.],
          [241., 242., 243., 244., 245., 246., 247., 248., 249., 250., 251.,
           252.],
          [253., 254., 255., 256., 257., 258., 259., 260., 261., 262., 263.,
           264.],
          [265., 266., 267., 268., 269., 270., 271., 272., 273., 274., 275.,
           276.],
          [277., 278., 279., 280., 281., 282., 283., 284., 285., 286., 287.,
           288.]]]])

*****************************

torch.Size([1, 72, 36])
tensor([[[  0.,   0.,   0.,  ..., 101., 103., 105.],
         [  0.,   0.,   0.,  ..., 102., 104., 106.],
         [  0.,   0.,   0.,  ..., 103., 105., 107.],
         ...,
         [182., 184., 186.,  ...,   0.,   0.,   0.],
         [183., 185., 187.,  ...,   0.,   0.,   0.],
         [184., 186., 188.,  ...,   0.,   0.,   0.]]])
tensor([  0.,   0.,   0.,   0.,   0.,   0.,   0.,   0.,   0.,   0.,   0.,   0.,
          0.,   0.,   1.,   2.,   3.,   4.,   0.,   0.,  13.,  14.,  15.,  16.,
          0.,   0.,  25.,  26.,  27.,  28.,   0.,   0.,  37.,  38.,  39.,  40.,
          0.,   0.,   0.,   0.,   0.,   0.,   0.,   0.,   0.,   0.,   0.,   0.,
          0.,   0., 145., 146., 147., 148.,   0.,   0., 157., 158., 159., 160.,
          0.,   0., 169., 170., 171., 172.,   0.,   0., 181., 182., 183., 184.])

上一篇:Python运维之获取操作系统的内存信息


下一篇:Pset_MaterialHygroscopic