最近在看一个torch的项目,用到了nn.ReflectionPad1d这个函数,随便一搜都是ReflectionPad2d的。于是喵了一眼官网,写的是真的清楚哇。
比较懒,直接截个图,简单说一下。所谓Reflection就像照镜子一样。
我再用【9,8,7,6】再来说说。这个函数里面的值可以是一个int,也可以是(int,int)这样的list或tuple。
如果是一个int就左右pad相同维度,如果是tuple就(左,右)。
比如 nn.ReflectionPad1d((3, 0)),就是6,7,8,9,8,7,6,这个6,7,8就是pad出来的。
值得注意的一点是nn.ReflectionPad1d里面的值不能超过(维度-1)。
比如如果是【9,8,7,6】,然后nn.ReflectionPad1d(4)
就会爆如下错误
RuntimeError: Argument #4: Padding size should be less than the corresponding input dimension, but got: padding (8, 8) at dimension 2 of input [1, 2, 4]
Over