背景
unfold的作用就是手动实现的滑动窗口操作,也就是只有卷,没有积
unfold()做用是按照选定的尺寸与步长来切分矩阵
参数为(dim,size,step)
dim表明想要切分的维度
size表明切分块的尺寸
step表明切分的步长
示意图:
图片解释:
Step1.对一个[512,1,26,26]进行unfold(2, 2, 2):
第一个2是在第2维方向操作:
也就是对26进行操作,在红色的26方向进行滑动。
第二个2表示窗口的大小,也就是蓝色小块的长度为2
第三个2表示步长为2,每次移动2步
最后变成[512,1,13,26,2],如图:
也就是多出一个维度,维度大小为2
相当于长度变短,厚度变厚:
Step2.对一个[512,1,13,26,2]进行unfold(3, 2, 2):
第一个3是在第3维方向操作:
也就是对26进行操作,在红色的26方向进行滑动。
第二个2表示窗口的大小,也就是蓝色小块的长度为2
第三个2表示步长为2,每次移动2步
最后变成[512,1,13,13,2,2],如图:
此时依然又多出一个维度,维度大小为2,但是这个情况相当于三维升到四维,我们是无法画出 的,需要大家去想象!!!(简单的说就是又多了一个维度)