Pytorch:torch.nn.functional.pad()

torch.nn.functional.pad 是PyTorch函数,用于在张量的各个轴上添加填充 。这个函数是 torch.nn.functional 模块下的一个实用函数,它可以自由地添加不同数量的填充到输入张量的任意边界

用法

使用 torch.nn.functional.pad 需要提供输入张量一个填充值 列表,该列表指明了每个维度两侧的填充量 。此外,还可以指定填充类型,例如 'constant'(使用固定值进行填充)、'reflect'(使用反射填充方式)、'replicate'(使用重复模式填充)等。

以下是几个 pad 函数的例子:

python 复制代码
import torch
import torch.nn.functional as F

# 创建一个二维矩阵
tensor = torch.arange(9).view(3, 3)

# 将 tensor 周围填充一层零
# 填充格式为:(左, 右, 上, 下)
padded_tensor = F.pad(tensor, (1, 1, 1, 1), 'constant', 0)

# 使用反射方式填充
# 反射填充不需要额外的填充值,会将tensor边缘的值反射至填充部分
padded_tensor_reflect = F.pad(tensor, (1, 1, 1, 1), 'reflect')

# 使用重复模式填充
# 重复模式会取边缘的值并在填充区域重复它
padded_tensor_replicate = F.pad(tensor, (1, 1, 1, 1), 'replicate')

在实际应用中,填充操作通常用于确保某些卷积层或池化层后的尺寸满足要求,或者处理边界情况,比如图像处理中边界的处理等。

pad 函数的灵活性在于,它可以处理不同数量不同类型的填充需求,提供了实现各种填充策略的基础。

相关推荐
虫无涯4 分钟前
Doc2X为一切AI文档服务的基础设施,将PDF转换为Word、HTML、LaTeX、Markdown等
人工智能
倔强的石头1065 分钟前
卷积神经网络(CNN):从图像识别原理到实战应用的深度解析
人工智能·神经网络·cnn
爆改模型5 分钟前
【ICCV2025】计算机视觉|即插即用|ESC:颠覆Transformer!超强平替,ESC模块性能炸裂!
人工智能·计算机视觉·transformer
跟橙姐学代码17 分钟前
Python异常处理:告别程序崩溃,让代码更优雅!
前端·python·ipython
虫无涯28 分钟前
一种专为AI代理设计的内存层,能够在交互过程中记忆、学习和进化
人工智能
AI 嗯啦29 分钟前
计算机视觉opencv----银行卡号码识别
人工智能·opencv·计算机视觉
恒点虚拟仿真32 分钟前
XR数字融合工作站赋能新能源汽车专业建设的创新路径
人工智能·汽车·xr·虚拟现实·虚拟仿真·新能源汽车·ai+虚拟仿真
学历真的很重要35 分钟前
Claude Code Windows 原生版安装指南
人工智能·windows·后端·语言模型·面试·go
蓝纹绿茶37 分钟前
Python程序使用了Ffmpeg,结束程序后,文件夹中仍然生成音频、视频文件
python·ubuntu·ffmpeg·音视频
TextIn智能文档云平台38 分钟前
大模型处理长文档的挑战和解决方案?
人工智能