pytorch中torchvision.transforms.functional模块中pad函数的使用
torchvision.transforms.functional模块中pad函数的使用
载入torchvision.transforms.functional模块
import torchvision.transforms.functional as tf
tf.pad函数包含三项主要参数,分列如下:
- img:该参数需要输入tensor类型变量,为padding操作的对象
- padding:该参数指定padding操作的维度,以元组形式输入,从左到右分别对应的padding位置分别为(左,上,右,下)
- padding_mode:该参数共有四种模式,分别为(constant,edge,reflect,symmetric)
下面将分别对四种padding模式进行代码运行结果展示:
import torchvision.transforms.functional as tf
import torch
t=[[2,3,4],[5,6,7]] #此处需将t的数据类型转为tensor类型
ten = torch.tensor(t)
constant mode
constant mode代表进行padding操作的tensor变量上进行补零操作
tf.pad(img=ten,padding=(1,1,1,1),padding_mode="constant")
edge mode
将边缘的元素进行镜像扩充
tf.pad(img=ten,padding=(1,1,1,1),padding_mode="edge")
reflect mode
将第二列以第一列为对称轴进行镜像对称,第二行以第一行为对称轴进行镜像对称,反之,同理。
tf.pad(img=ten,padding=(1,1,1,1),padding_mode="reflect")
symmetric mode
“Symmetric padding of N-D tensors are not supported yet”