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”