pytorch中的torch.nn.Unfold和torch.nn.Fold
1. torch.nn.Unfold(kernel_size, dilation=1, padding=0, stride=1) torch.nn.Unfold按照官方的说法,既从一个batch的样本中,提取出滑动的局部区域块,也就是卷积操作中的提取kernel filter对应的滑动窗口。 1)由上可知,torch.nn.Unfold的参数跟nn.Conv2d的参数很相似,即,kernel_size(卷积核的尺寸),dilation(空洞大小),padding(填充大小)和stride(步长)。 2)官方解释中:unfold的输入为( N, C, H, W),其中N为batch_size,C是channel个数,H和W分别是channel的长宽。则unfold的输出为( N, C × π ( k e r n e l _ s i z e ) C\times\pi (kernel\_size) C × π ( k e r n e l _ s i z e ) , L),其中 π ( k e r n e l _ s i z e ) \pi (kernel \_size) π ( k e r n e l _ s i z e ) 为kernel_size长和宽的乘积, L是channel的长宽根据kernel_size的长宽滑动裁剪后,得到的区块的数量。 3)例如:输入(1, 2, 4, 4