torch.nn.functional.pad(input, pad, mode='constant', value=0.0)
本文主要解释参数pad的含义,之前看了网上的很多博客,感觉都是转载一篇的,只是形象的讲述了tensor在3维以内时pad的工作原理,本人之前在看完后还是很疑惑。在看了官方文档后,恍然大悟,于是想总结下pad的普遍性使用方法。
下面展示一些 torch文档中的实例:
参数pad需要输入一个元组,元组中元素个数小于等于input维度的2倍。如:input是2维的,则pad可以最多有4个元素;input是5维的,pad可以最多有10个元素.
torch.nn.functional.pad()会依照从后往前的顺序依照pad的值对input进行padding。
如input.size=[3,3,4,2],pad=(1,1),则会对input第4个维度上padding,前方向和后方向各加1,结果的size为[3,3,4,4],
input.size=[3,3,4,2],pad=(0,1,2,1,3,3),则会对input第4,第3,第2维度上padding,第4维前方向加0,后方向加1,第3维前方向加2,后方向加1,第2维前方向加3,后方向加3,结果的size为[3,9,7,3].