欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

torch.nn.functional.pad

时间:2023-05-23

作用

用来对一个tensor进行填充。最典型的就是图片了,原来是2*2的,现在想要变成3*3的,那么就需要填充,此时有很多选择,例如是在原来的右上进行填充还是左下?又或者是左上?等等。

这个函数就可以用来实现这些功能。

torch.nn.functional.pad(input, pad, mode='constant', value=0.0)

我们只关心第二个参数pad,其他不要管。pad是一个元组,格式如下:

(1,1)表示在最后一个维度,前面填充1个0,后面填充1个0(1,0)表示在最后一个维度,前面填充1个0,后面不填充。(1,1,1,1)表示最后两个维度都要填充,并且上下左右各填充1个0。.....

下面,我们根据上面举的3个案例进行实战:


实战

import torchimport torch.nn.functional as tnf

x = torch.tensor([[1, 2],[ 3,4]])

print(x)print(tnf.pad(x,(1,1)))#案例1print(tnf.pad(x,(1,0)))#案例2print(tnf.pad(x,(1,1,1,1)))#案例3


那开头的2*2怎么填充为3*3的图片呢?假设我们在右边和下边各填充1个0,那么就是这样的:

print(x)print(tnf.pad(x,(0,1,0,1)))

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。